Respuestas:
Los enrutadores no transmiten las direcciones MAC. Debe mirar la tabla ARP del enrutador.
Editar:
A menos que tenga alguna otra forma de acceso a la máquina, sí, es imposible. Si puede acceder a la red que está activada (VNC, RDP, SSH), puede hacerlo, pero de lo contrario no.
Si su enrutador no le proporciona la tabla ARP en su interfaz web, puede ver si puede hacer telnet: muchos enrutadores domésticos tienen funciones más avanzadas que ocultan de la interfaz web.
No se puede garantizar que pueda ver la dirección MAC de las máquinas detrás de un enrutador. Pero hay algunos protocolos que pueden ayudarlo a encontrar la dirección MAC desde cualquier lugar de la red. Por ejemplo, para encontrar la dirección MAC de una PC con Windows en otra red cuando conoce su dirección IP, puede usar el comando
nbtstat -A <IP Address>
Para hacer lo mismo desde una máquina Linux (con samba instalada) use el comando
nmblookup -R -S -A <IP Address>
Si la máquina en cuestión no es una máquina de Windows y no hay forma de formar parte de otra subred. Entonces, las únicas opciones son ver la tabla de direcciones MAC en el enrutador, o si hay un servidor DHCP común en toda la red, puede ver la dirección MAC en los registros de DHCP. Pero supongo que debe ser administrador para acceder al enrutador o al servidor DHCP.
Por lo tanto, si hay muchas máquinas Windows en su red, puede encontrar la dirección MAC para ellas incluso cuando no están en su subred. Pero si la red tiene muchas máquinas Linux, entonces no hay una buena forma muy común de encontrar MAC desde otras redes.
La técnica anterior no funcionará en servidores samba de Linux. Siempre devolverán la dirección MAC como 00-00-00-00-00-00.
Si la IP en cuestión no está en una subred conectada directamente del enrutador, entonces el MAC no estará en la tabla ARP de su enrutador.
ARP solo es visible / relevante para el último salto de una conexión IP (capa 2). Todo entre la primera entidad de enrutamiento y la última entidad de enrutamiento es la capa 3, que no utiliza el ARP de las entidades de origen o destino, sino el ARP de la siguiente entidad de enrutamiento conectada directamente.
Creo que lo que quieres saber es ...
¿Cómo puede encontrar el MAC para una IP (máquina) particular que no es parte de su subred?
Para todas las máquinas / IP en su subred, la tabla IP-MAC se almacena en la caché ARP, localmente en su máquina. Este es el mismo caché que da "conflictos de resolución de IP". hacer un simple
$ arp -a | grep particularIP
Ahora, para la máquina fuera de su subred, no hay un estándar de la aplicación de estante que haga eso, traté de pensar si algún mensaje ICMP puede hacerlo, pero a partir de ahora creo que no hay ninguno. Bueno, la forma en que se diseñan las redes, en lugar de las capas, es un comportamiento deliberadamente no deseado. Para escapar o eliminar la información que es relevante para las capas por debajo del presente, y a medida que se utiliza la red IP, no se utiliza MAC.
Vea si tiene cooperación en la otra máquina, puede escribir una pequeña aplicación, que encapsula el encabezado de la Mac y le envía ... por supuesto, si tiene cooperación de la otra máquina, ¿por qué este esfuerzo es un ifconfig simple? hace el trabajo, eso para todas las interfaces en esa máquina.
Solo puede "ver" las direcciones mac de los hosts que están en la misma subred. Luego, puede enumerar todas las direcciones mac con el comando arp:
arp -a
o para una sola dirección IP:
arp -a 192.168.0.1
Si tiene acceso a la PC remota, o cualquier PC en la red remota, puede usar WMI o ejecutar varias aplicaciones para darle la dirección MAC. No se me ocurre otra forma de obtener la dirección MAC.
JR
¿Conoces el fabricante del dispositivo? Si es así, es posible que pueda obtener parte del MAC.
Lo único que se me ocurre es vxlan, pero estoy seguro de que sería más difícil configurarlo que acceder al enrutador que tendría el MAC directamente.
Bueno, como dijeron las personas en la otra respuesta, ARP es un protocolo de capa dos y no es enrutable, por lo que el escaneo en métodos convencionales no le devolverá las direcciones MAC. ejemplo
nmap -sn target
solo proporcionará direcciones MAC de dispositivos que estén en el mismo segmento de red. Hay dos scripts nmap que usan ayudantes como nbtstat y snmp
NBTSTAT esto requiere que el puerto UDP 137 esté abierto en el destino donde se encuentra el comando nmap
nmap -sU --script nbtstat.nse -p 137 target
SNMP este protocolo tiene que estar funcionando, es un puerto abierto, para darnos cualquier información sobre el MAC del objetivo. También el puerto UDP 161
nmap -sU -p 161 --script=snmp-interfaces target
Direcciones IPV6 esto funciona en la recuperación de MAC de IPv6 o direcciones similares (teredo, 6to 4, etc.). Solo lo he probado en la dirección IPv6 que tiene parte de la Mac en ellos
nmap -sV -sC target
(este es el comando de nmap https://nmap.org/nsedoc/scripts/address-info.html ) pero al probarlo (en hosts internos fe80), requería un -6
nmap -sV -sC -6 target
Prueba Namp Intense Scan: nmap -T4 -A -v IP-address
No sé sobre el enrutador, pero si tiene una dirección IP, puede usar nmap para obtener la dirección MAC incluso en su host local, también puede hacerlo, así que ¿por qué demonios quiere obtener eso del enrutador o algo así? Si su sistema operativo es Linux, puede usar Macchanger o muchas otras aplicaciones, así que no tengo idea de por qué quiere hacer esto de esa manera.