Saltar al contenido

cómo obtener la dirección MAC de la computadora remota

Indagamos en todo el mundo online para de este modo tenerte la solución para tu problema, si continúas con preguntas déjanos tu duda y responderemos porque estamos para servirte.

Solución:

Solución 1:

Las direcciones MAC son cosas de Ethernet, no cosas de Internet. Una computadora ni siquiera necesita tener una dirección MAC. La única forma de obtener la dirección MAC es conseguir alguna computadora en la misma LAN que esa computadora para que te la diga. Y no tendría forma de saber que le estaba dando la información correcta.

Si los dos están en la misma LAN Ethernet, solo pueden ping la computadora y luego mire en su tabla ARP. De lo contrario, tendría que preguntar a una computadora en la misma LAN Etherent/Wifi.

Solución 2:

Puede obtenerlo de WMI, y cualquier idioma que pueda leer WMI podrá acceder a él. Se pueden usar VBScript, JScript, Perl, Python y Powershell para llegar a él.

Dado que preguntó específicamente sobre Powershell, aquí hay un ejemplo de http://www.neolisk.com/techblog/powershell-getmacaddressofanyremoteip:

param ( $Computer , $Credential )
#to make it work without parameters
if($Computer -eq $null)  $Computer = $env:COMPUTERNAME 
#program logic
$hostIp = [System.Net.Dns]::GetHostByName($Computer).AddressList[0].IpAddressToString
if($Credential) 
    $Credential = Get-Credential $Credential
    $wmi = gwmi -Class Win32_NetworkAdapterConfiguration -Credential $Credential -ComputerName $Computer
 else 
    $wmi = gwmi -Class Win32_NetworkAdapterConfiguration -ComputerName $Computer 

return ($wmi | where  $_.IpAddress -eq $hostIp ).MACAddress

Solución 3:

nmap devolverá la dirección MAC, así como cualquier otra cosa que desee saber.

Si tiene acceso de administrador a la máquina, powershell y wmi son muy útiles para obtener diagnósticos remotos. Ambos tienen una extensa documentación en technet.microsoft.com

editar: esto supone una máquina con Windows, que por lo que parece, podría no serlo.


Solución 4:

sí. La forma más fácil debería ser simplemente hacer un ping y luego verificar la tabla ARP

Si está más interesado en inventariar e informar cosas, le sugiero que eche un vistazo al software gratuito de Spiceworks (http://www.spiceworks.com) para configurar un monitoreo constante y tener siempre su información fácilmente disponible sobre todo su medio ambiente

Lo he usado durante años y funciona muy bien en LAN.

Sin embargo, tiene algunos problemas con el envío de inventarios de software a sitios remotos, aún no he descubierto por qué, pero aparte de eso, lo recomiendo encarecidamente.


Solución 5:

Si conoce el nombre de la computadora, la forma fácil será:

$strComputer ="ComuterName"
$colItems = Get-WmiObject -Class "Win32_NetworkAdapterConfiguration" -ComputerName $strComputer -Filter "IpEnabled = TRUE"
ForEach ($objItem in $colItems)

    write-host "IP Address: " $objItem.IpAddress[0]  "Mac: " $objItem.MacAddress

Script más avanzado que puede tomar cualquier máquina por IP o nombre de host:

$device = "192.168.106.123"
if ( $device | ?  $_ -match "[0-9].[0-9].[0-9].[0-9]"  )

    echo "Searching MAC by IP"
    $ip = $device
 
else 

    echo "Searching MAC by host"
    $ip = [System.Net.Dns]::GetHostByName($device).AddressList[0].IpAddressToString

    $ping = ( new-object System.Net.NetworkInformation.Ping ).Send($ip);


if($ping)
    $mac = arp -a $ip;

    ( $mac 

Aquí tienes las reseñas y calificaciones

Si te gusta la programación, puedes dejar un enunciado acerca de qué le añadirías a este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *