Obtendo o endereço MAC de um IP por trás de um roteador

8

Quero saber, se possível, como obter um endereço MAC de um endereço IP se estiver atrás de um roteador.

Tentei fazer um ping no IP e verificar a tabela arp, mas a única entrada é o MAC do roteador.

Alguma ideia?

Obrigado pela leitura.

Macarse
fonte

Respostas:

20

Os endereços MAC não são transmitidos pelos roteadores. Você precisa olhar para a tabela ARP do roteador.

Editar:

A menos que você tenha alguma outra forma de acesso à máquina, sim, é impossível. Se você puder acessar a rede em que está (VNC, RDP, SSH), poderá fazê-lo, mas, caso contrário, não.

Se o seu roteador não fornecer a tabela ARP em sua interface da web, você poderá ver se consegue telnetar: muitos roteadores domésticos possuem funções mais avançadas que ocultam da interface da web.

Dentrasi
fonte
Se não tenho acesso à tabela arp do roteador, é impossível?
5990 Macarse
11
Sim. O ARP é referido como um protocolo não roteável - ele nunca sai da rede local. Se você deseja ver endereços MAC, precisa estar em um dispositivo local de link, diretamente conectado ou com acesso remoto suficiente para enumerar a tabela ARP.
Kyle Brantley
5

Não é possível garantir que você possa ver o endereço MAC das máquinas atrás de um roteador. Mas existem alguns protocolos que podem ajudá-lo a encontrar o endereço MAC de qualquer lugar da rede. Por exemplo, para encontrar o endereço MAC de um PC com Windows em outra rede, quando você souber o endereço IP, use o comando

nbtstat -A <IP Address>

Para fazer o mesmo na máquina Linux (com o samba instalado), use o comando

nmblookup -R -S -A <IP Address>

Se a máquina em questão não é uma máquina Windows e não há como se tornar parte de outra sub-rede. As únicas opções são ver a tabela de endereços MAC no roteador ou, se houver um servidor DHCP comum em toda a rede, você poderá ver o endereço MAC nos logs DHCP. Mas acho que você precisa ser administrador para acessar o roteador ou servidor DHCP.

Portanto, se houver muitas máquinas Windows em sua rede, você poderá encontrar o endereço MAC para elas, mesmo quando não estiverem na sub-rede. Mas se a rede possui muitas máquinas Linux, não há uma maneira muito comum de encontrar o MAC a partir de outras redes.

A técnica acima não funcionará em servidores samba Linux. Eles sempre retornarão o endereço MAC como 00-00-00-00-00-00.

Saurabh Barjatiya
fonte
3

Se o IP em questão não estiver em uma sub-rede diretamente conectada ao roteador, o MAC não estará na tabela ARP do seu roteador.

O ARP é visível / relevante apenas para o último salto de uma conexão IP (camada 2). Tudo entre a primeira entidade de roteamento e a última entidade de roteamento é a camada 3, que não usa o ARP das entidades de origem ou destino, mas o ARP da próxima entidade de roteamento diretamente conectada.

James F
fonte
2

Eu acho que o que você quer saber é -

Como você pode encontrar o MAC para um IP específico (máquina) que não faz parte da sua sub-rede?

Para todas as máquinas / IPs na sua sub-rede, a tabela IP-MAC é armazenada no ARP Cache, localmente na sua máquina. É o mesmo cache que fornece "conflitos de resolução de IP". faça um simples

$ arp -a | grep particularIP

Agora, para a máquina fora da sua sub-rede - não há um padrão do aplicativo de prateleira que faça isso, tentei pensar se alguma mensagem ICMP pode fazer isso, mas a partir de agora acho que não há nenhuma. Bem, como as redes, em vez de projetar camadas, é um comportamento deliberadamente indesejado. Para escapar ou remover as informações que são relevantes para as camadas abaixo do presente, e à medida que usamos as redes, o IP é usado, portanto, nenhum MAC.

Veja se você tem cooperação na outra máquina, você pode escrever um pequeno aplicativo, que encapsula o cabeçalho do mac e envia para você ... é claro que se você tiver cooperação da outra máquina, por que tanto esforço é um simples ifconfig -a faz o trabalho, para todas as interfaces nessa máquina.

Vivek Sharma
fonte
1

Você pode "ver" apenas os endereços MAC dos hosts que estão na mesma sub-rede. Em seguida, você pode listar todos os endereços mac usando o comando arp:

arp -a

ou para um único endereço IP:

arp -a 192.168.0.1
splattne
fonte
Eu disse que estou atrás de um roteador, então não estou na mesma sub-rede.
217 Macarse
0

Se você tiver acesso ao PC remoto ou a qualquer PC na rede remota, poderá usar o WMI ou executar vários aplicativos para fornecer o endereço MAC. Não consigo pensar em outra maneira de obter o endereço MAC.

JR

John Rennie
fonte
Não, eu não tenho qualquer tipo de acesso ao sub-rede :(
Macarse
0

Você conhece o fabricante do dispositivo? Nesse caso, você poderá fazer parte do MAC.

http://aruljohn.com/mac.pl

A única outra coisa em que consigo pensar é no vxlan, mas tenho certeza de que seria mais difícil configurá-lo do que apenas obter acesso ao roteador que teria o MAC diretamente.

https://tools.ietf.org/html/rfc7348

dmourati
fonte
0

Bem, como foi dito pelo pessoal da outra resposta, o ARP é um protocolo de camada dois e não é roteável; portanto, a digitalização nos métodos convencionais não devolve endereços MAC. exemplo

nmap -sn target

fornecerá apenas endereços MAC de dispositivos que estão no mesmo segmento de rede. Existem dois scripts nmap que usam ajudantes como nbtstat e snmp

NBTSTAT, isso requer que a porta UDP 137 esteja aberta no destino em que o comando nmap é

nmap -sU --script nbtstat.nse -p 137 target

SNMP, este protocolo deve estar funcionando, é a porta aberta, para nos fornecer qualquer informação sobre o MAC do destino. Também porta 161 UDP

nmap -sU -p 161 --script=snmp-interfaces target

Endereços IPV6 isso funciona na recuperação de MAC de endereços IPv6 ou similares (teredo, 6 a 4, etc). Eu só tentei no endereço IPv6 que tem parte do mac neles

nmap -sV -sC target

(este é o comando do nmap https://nmap.org/nsedoc/scripts/address-info.html ), mas ao testá-lo (em hosts fe80 internos), era necessário um -6,

nmap -sV -sC -6 target 
nassim
fonte
-2

Experimente o Intense Scan: nmap -T4 -A -v IP-address

Mohammad Hessamzadeh
fonte
11
Ou você não entendeu a pergunta ou não tem idéia do que está falando. Não vejo nenhuma evidência sugerindo que esse comando possa ver o endereço MAC do outro lado de qualquer roteador. Mesmo que funcionasse, não teria sido uma boa resposta, porque faltam informações sobre como funciona.
kasperd
-2

Eu não sei sobre roteador, mas se você tiver um endereço IP, você pode usar o nmap para obter o endereço Mac, mesmo em seu host local, também pode fazê-lo. Por que diabos você deseja obtê-lo do roteador ou algo assim? se o seu sistema operacional for linux, você pode usar o macchanger ou muitos outros aplicativos, por isso não tenho idéia do porquê você quer fazer isso assim.

M01
fonte
Acho que você perdeu a palavra roteador na pergunta.
kasperd