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.
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.
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
Para fazer o mesmo na máquina Linux (com o samba instalado), use o comando
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.
fonte
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.
fonte
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
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.
fonte
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:
ou para um único endereço IP:
fonte
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
fonte
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
fonte
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
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 é
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
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
(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,
fonte
Experimente o Intense Scan:
nmap -T4 -A -v IP-address
fonte
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.
fonte