Liste todos os endereços MAC e seus endereços IP associados em minha rede local (LAN)

71

Como posso listar todos os endereços MAC e seus associados Endereços IP das máquinas conectadas à minha rede local (LAN)?

    
por Maythux 17.01.2014 / 10:32

11 respostas

51

Você pode usar o utilitário Nmap para isso. O Nmap é um utilitário gratuito de scanner de rede.

Tente apenas:

sudo nmap -sn 192.168.1.0/24

Por favor, substitua o identificador de sua rede e a máscara de sub-rede.

Como encontrar uma ID de rede e uma máscara de sub-rede

Use o comando ip a :

bash~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:94:ee:9a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
    inet6 fe80::c685:8ff:fe94:ee9a/64 scope link valid_lft forever preferred_lft forever

Aqui no ponto 2, eu tenho o dispositivo wlan0 . Ele diz inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0 , endereço IP: 192.168.3.66 , máscara de sub-rede: 24 . O ID da rede é 192.168.3.0 , basta substituir o último número por 0.

Ou como homem nmap diz:

sudo nmap -sn 192.168.1.0/24

Aqui está uma pequena citação da página man, nmap (1) :

-sn (No port scan)
     

Esta opção diz ao Nmap para não fazer uma varredura de porta após a descoberta do host e apenas imprimir os hosts disponíveis que responderam à varredura. Isso geralmente é conhecido como "ping scan", mas você também pode solicitar que os scripts do traceroute e do NSE sejam executados.

Isso é, por padrão, um passo mais intrusivo do que a varredura de lista, e muitas vezes pode ser usado para os mesmos fins. Permite o reconhecimento de luz de uma rede alvo sem atrair muita atenção.

Saber quantos hosts estão ativos é mais valioso para os invasores do que a lista fornecida pela varredura de lista de cada endereço IP e nome de host.

  

Os administradores de sistemas geralmente acham essa opção valiosa também. Ele pode ser facilmente usado para contar as máquinas disponíveis em uma rede ou monitorar a disponibilidade do servidor. Isto é   muitas vezes chamado de ping sweep, e é mais confiável do que pingar o endereço de broadcast porque muitos hosts não respondem a consultas de broadcast.

     

A descoberta de host padrão feita com -sn consiste em uma solicitação de eco ICMP, TCP SYN na porta 443, TCP ACK na porta 80 e uma solicitação de registro de data e hora ICMP por padrão.

Quando executado por um usuário não privilegiado, somente os pacotes SYN são enviados (usando uma chamada connect ) para as portas 80 e 443 no destino.

Quando um usuário privilegiado tenta verificar alvos em uma rede ethernet local, as solicitações ARP são usadas, a menos que --send-ip seja especificado. A opção -sn pode ser combinada com qualquer um dos tipos de sondagem de descoberta (as opções -P* , excluindo -Pn ) para maior flexibilidade.

Se qualquer uma dessas opções de tipo de sonda e número de porta forem usadas, os probes padrão serão substituídos. Quando existem firewalls rígidos entre o host de origem que executa o Nmap e a rede de destino, recomenda-se o uso dessas técnicas avançadas. Caso contrário, os hosts podem ser perdidos quando o firewall interromper os testes ou suas respostas.

  

Nas versões anteriores do Nmap, -sn era conhecido como -sP .

    
por c0rp 17.01.2014 / 10:48
43

arp irá lentamente retornar uma lista de endereços MAC e IPs ativos ou seus nomes de host, se tiverem um. Se você quiser ir mais rápido, você pode usar arp -n , que deve pular as pesquisas de DNS. Se você precisar analisá-lo em algo arp -an irá ignorar as colunas de largura fixa.

$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.10.0.11               ether   00:04:ff:ff:ff:d0   C                     eth0
10.10.0.16               ether   00:04:ff:ff:ff:a6   C                     eth0
raspbmc.local            ether   00:1f:ff:ff:ff:9c   C                     eth0
10.10.0.19               ether   00:04:ff:ff:ff:c9   C                     eth0
10.10.0.12               ether   bc:f5:ff:ff:ff:93   C                     eth0
10.10.0.17               ether   00:04:ff:ff:ff:57   C                     eth0
10.10.0.1                ether   20:4e:ff:ff:ff:30   C                     eth0
HPF2257E.local           ether   a0:b3:ff:ff:ff:7e   C                     eth0
10.10.0.15               ether   00:04:ff:ff:ff:b9   C                     eth0
tim                      ether   00:22:ff:ff:ff:af   C                     eth0
10.10.0.13               ether   60:be:ff:ff:ff:e0   C                     eth0

Caso contrário, o seu roteador deve ser capaz de lhe dar uma ideia dos dispositivos ativos (a maioria faz).

Editar Por comentário de davidcl, esta resposta não é tão perfeita quanto eu esperava.

arp depende do contato anterior de algum tipo para funcionar. No entanto, na minha opinião, os dispositivos modernos são tão faladores (você deve realmente assistir a wireshark - é uma educação) no nível de transmissão que é improvável que um dispositivo esteja presente na rede sem ao menos responder a uma transmissão. (Para ter certeza de que você pode pingar todos os dispositivos na rede com 10.10.0.255 primeiro e, em seguida, você provavelmente obterá 90 +% dos dispositivos.)

Para dar uma ideia do que quero dizer, 10.10.0.16 acima é o nosso PVR. Não há interação direta entre o meu PC e o PVR e não há serviços em execução no PVR (nem UPNP / DLNA).

Só para brincar rapidamente com os argumentos ...

  • Mas e hackers na minha rede ?! 1
    Eles podem bloquear pings ICMP também. Eles podem bloquear todas as respostas para cada tipo de digitalização.
  • Ah, mas com certeza nmap ainda é a melhor solução possível
    Quando executado aqui, ainda falta quatro dispositivos. Quatro dispositivos ativos na rede. Ou eles não estão respondendo aos pings ou o nmap não está esperando o tempo suficiente para eles responderem ... Eu não sei. nmap é uma ótima ferramenta (especialmente para a varredura de porta que você pode querer fazer a seguir), mas ainda é um pouco desajeitada (e um pouco lenta) para esse problema. E não me chame de Shirley.
por Oli 17.01.2014 / 11:00
29

Eu uso arp-scan para isso:

$ sudo arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.2.1     ec:1a:59:61:07:b2       (Unknown)
192.168.2.50    90:59:af:3d:6d:bc       (Unknown)
192.168.2.51    3c:97:0e:48:22:12       (Unknown)
192.168.2.52    00:18:31:87:8f:b0       Texas Instruments

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 1.282 seconds (199.69 hosts/sec). 4 responded
    
por jcrigby 17.01.2014 / 21:42
12

Você pode usar arp-scan .

Instale usando este comando:

sudo apt-get install arp-scan

Para listar todos os endereços IP e endereços MAC associados, use:

sudo arp-scan --interface=eth0 --localnet

A saída ficará assim:

Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 16777216 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.3 38:60:77:29:31:36   (Unknown)
192.168.1.8 4c:72:b9:7c:bb:7e   (Unknown)
192.168.1.110   00:15:17:5f:d2:80   Intel Corporate
192.168.1.111   00:ff:88:5f:fd:f0   (Unknown)
192.168.1.153   00:15:17:5f:d2:82   Intel Corporate
192.168.1.180   52:54:00:70:04:02   QEMU
192.168.1.199   52:54:00:fe:7f:78   QEMU
    
por user260894 24.03.2014 / 08:04
8

GUI

Você pode tentar avahi-discover .

  1. Instale-o com este comando (ou clicando no link acima):

    sudo apt-get install avahi-discover
    
  2. Execute o Navegador Avahi Zeroconf ou avahi-discover de um terminal.
  3. Você deverá ver uma janela com uma lista de dispositivos em sua rede local.
    O endereço MAC será a string entre colchetes.

Linha de comando

Você pode usar este comando em um terminal:

avahi-browse -a -t -d local

Ele é instalado por padrão.

    
por kiri 17.01.2014 / 10:37
5
  1. Primeiro, faça uma verificação da rede para ver quais hosts estão acessíveis / on-line usando nmap -sn 1.2.3.4/24 ou fping -g 1.2.3.4/24

  2. Em seguida, consulte o endereço MAC correspondente ao endereço IP usando arping . Pseudo-código à frente:

    for i in $(cat list-of-reachable-hosts)
    do 
        arping $i
    done
    
  3. Cheatery: consulte o arp-cache do seu switch local; que deve dar uma boa visão geral ...

por far4d 17.01.2014 / 13:58
3

Nos casos em que o protocolo NetBIOS é aceito, prefiro usar

nbtscan 192.168.1.1-192.168.1.255 .

    
por Silveri 17.01.2014 / 12:48
2

Fiquei intrigado com este post. Eu tive a necessidade disso.

Eu escrevi um script de shell que analisa a saída arp usando awk e gera saída HTML. Se você executar o script e redirecionar a saída para um arquivo HTML, ficará com um arquivo HTML que mostra o IP, o endereço MAC completo e um link para a página de consulta IEEE OUI. Isso ajuda a determinar o cliente por meio do fabricante da NIC.

printf "<html>\n<title>LAN IPs and their MACs</title>\n<body>\n"
arp -a | awk '{print ,}' | awk -F'[().: ]' '{print ".""."".",,":"":"":"":"":","<a href=\"http://standards.ieee.org/cgi-bin/ouisearch?""\">IEEE OUI Lookup ""-""-""</a><br>"}'
printf "\n</body>\n</html>\n"

Isso ajuda a executar uma varredura nmap em sua LAN primeiro, para que você tenha entradas na tabela ARP. Espero que a formatação seja traduzida. Você poderia enfeitar isso para ter o texto em formato de tabela.

    
por user38537 21.01.2014 / 09:46
1

Depois de algum trabalho e pesquisa, descobri este comando:

nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap: Ferramenta de exploração de rede e segurança / scanner de porta

-sP (Ignorar verificação de porta). Esta opção diz ao Nmap para não fazer uma varredura de portas após a descoberta do host, e somente imprimir as informações disponíveis. hosts que responderam à varredura. Isso geralmente é conhecido como "ping scan", mas você também pode solicitar     traceroute e scripts do host NSE devem ser executados. Isto é, por padrão, um passo mais intrusivo que a lista     digitalizar, e muitas vezes pode ser usado para os mesmos fins. Permite o reconhecimento de luz de uma rede alvo     sem atrair muita atenção. Saber quantos hosts estão ativos é mais valioso para os invasores do que     a lista fornecida pela varredura de lista de todos os IPs e nomes de host.

-PE; -PP; -PM ( tipos de ping ICMP).     Além dos incomuns tipos de descoberta de host TCP, UDP e SCTP discutidos anteriormente, o Nmap pode enviar     os pacotes padrão enviados pelo programa de ping onipresente. O Nmap envia um tipo 8 do ICMP (solicitação de eco)     pacote para os endereços IP de destino, esperando um tipo 0 (resposta de eco) em retorno dos hosts disponíveis.     Infelizmente para os exploradores de rede, muitos hosts e firewalls agora bloqueiam esses pacotes, em vez de     respondendo conforme exigido pela RFC 1122 [2]. Por esse motivo, as varreduras somente de ICMP raramente são confiáveis o suficiente     contra alvos desconhecidos pela Internet. Mas, para administradores de sistemas, monitorar um     rede, eles podem ser uma abordagem prática e eficiente. Use a opção -PE para ativar esse eco     comportamento de solicitação.

-A (opções de verificação agressivas).     Esta opção permite opções adicionais avançadas e agressivas.

21,23,80,3389 Portas para pesquisar por

192.168.1.* Intervalo de IPs. substituir com o seu

    
por Maythux 10.03.2014 / 11:01
0

você pode usar arp .

Isso mostrará o MAC e o IP.

    
por user93206 22.01.2014 / 08:05
0

Depois de me cansar de usar o nmap e o ARP combo, criei esse pequeno programa que consulta todos os endereços MAC para um determinado intervalo de IPs: link

    
por drk.com.ar 30.05.2014 / 15:46

Tags