Existe alguma maneira fácil de descobrir o endereço MAC de todas as máquinas na minha rede, em vez de fazer um SSH em cada uma e, ifconfig | grep HWaddr
se houver 300 máquinas na rede, eu realmente preciso de uma solução fácil.
Existe alguma maneira fácil de descobrir o endereço MAC de todas as máquinas na minha rede, em vez de fazer um SSH em cada uma e, ifconfig | grep HWaddr
se houver 300 máquinas na rede, eu realmente preciso de uma solução fácil.
Respostas:
Você pode usar o nmap para executar uma verificação de ping.
nmap -sP 192.168.254.*
Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-09 11:32 GMT
Host xyzzy.lan (192.168.254.189) is up (0.00022s latency).
MAC Address: 00:0C:29:5B:A5:E0 (VMware)
Host plugh.lan (192.168.254.196) is up (0.00014s latency).
MAC Address: 00:0C:29:2E:78:F1 (VMware)
Host foo.lan (192.168.254.200) is up.
Host bar.lan (192.168.254.207) is up (0.00013s latency).
MAC Address: 00:0C:29:2D:94:A0 (VMware)
Nmap done: 256 IP addresses (4 hosts up) scanned in 3.41 seconds
Editar:
Um script sed para filtrar a saída para IP -> MAC - coloque isso em um arquivo.
/^Host.*latency.*/{
$!N
/MAC Address/{
s/.*(\(.*\)) .*MAC Address: \(.*\) .*/\1 -> \2/
}
}
/[Nn]map/d
s/^Host .*is up/& but MAC Address cannot be found/
e use assim
nmap -sP 192.168.254.0/20 | sed -f sedscript
192.168.254.189 -> 00:0C:29:5B:A5:E0
192.168.254.196 -> 00:0C:29:2E:78:F1
Host foo.lan (192.168.254.200) is up but MAC Address cannot be found.
192.168.254.207 -> 00:0C:29:2D:94:A0
Use o nmap. Importante executá-lo como root para obter os endereços MAC. Exemplo:
sudo nmap -sP 192.168.1.0/24
Irá verificar 192.168.1.1 - 192.168.1.255. Consulte a notação CIDR no wiki se você não estiver familiarizado com essa notação de sub-rede.
Você deve conseguir o nmap dos repositórios de qualquer distribuição Linux recente, por exemplo
sudo apt-get install nmap
ou
sudo yum install nmap
Um exemplo de saída da minha rede:
Host 192.168.1.1 is up (0.0069s latency).
MAC Address: 00:0D:54:9B:D8:F4 (3Com)
Host 192.168.1.78 is up (0.0068s latency).
MAC Address: 00:0C:29:BC:3D:1C (VMware)
Host 192.168.1.91 is up (0.0038s latency).
MAC Address: 00:0C:29:8A:F4:A3 (VMware)
Host 192.168.1.92 is up (0.0039s latency).
MAC Address: 00:0C:29:65:60:5F (VMware)
Host 192.168.1.158 is up (0.033s latency).
MAC Address: 00:0C:29:82:24:EA (VMware)
Host 192.168.1.186 is up (0.0024s latency).
MAC Address: 00:0C:29:3E:26:1F (VMware)
Host 192.168.1.190 is up (0.0066s latency).
Contanto que você execute este comando a partir de um host no mesmo segmento de rede, nmap
relatará que todo o endereço MAC para cada host é descoberto.
Por exemplo:
sudo nmap 192.168.1.0/24 -sP
Starting Nmap 4.76 ( http://nmap.org ) at 2011-03-09 06:29 EST
Host old.net (192.168.1.1) appears to be up.
MAC Address: 00:18:39:C5:A1:DC (Cisco-Linksys)
Para os endereços MAC, eu preciso estar root na minha caixa do Ubuntu. Além disso, um método simples para um único host é apenas fazer ping e verificar a tabela arp arp -a
se você quiser usar apenas os comandos normalmente incluídos na instalação inicial de uma distribuição:
arp -a | grep -v incomplete
foo.net (192.168.1.145) at 00:0d:4b:6a:2c:cb [ether] on eth0
Tente este comando:
arp-scan --interface=eth0 192.168.1.0/24
Dependendo da topologia da sua LAN, a melhor opção é exibir a tabela de endereços MAC nos seus switches.
Por exemplo, se sua infraestrutura de switch for Cisco, você pode tentar uma
sh mac address-table
em todos os interruptores.
Se você tiver muitos comutadores, poderá automatizar esta tarefa usando o SNMP .
Outra opção e (novamente), dependendo da sua topologia e do seu tipo de equipamento de rede, você também pode tentar obter os endereços mac dos seus dispositivos exibindo a tabela arp nos seus roteadores.
Com um desses dois métodos, você também obterá a lista de endereços mac de qualquer dispositivo conectado à sua infra-estrutura de rede: PCs, impressoras, pontos de acesso etc. No primeiro caso, até mesmo dispositivos sem endereço IP. Isso pode ou não ser o desejado, mas pode valer a pena tentar.
Talvez o arp-scan também seja uma opção:
Veja um exemplo aqui: Guia do usuário do Arp-scan
Você pode usar um programa chamado SIW, é gratuito e varre a rede sem necessidade de permissões ou argumentos.
Disponível em .exe ou instalação completa.