Respostas:
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
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.
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.
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.
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
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
Você conhece o fabricante do dispositivo? Nesse caso, você poderá fazer parte do MAC.
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.
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
Experimente o Intense Scan: nmap -T4 -A -v IP-address
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.