Resolvendo o endereço MAC do endereço IP no Linux

34

Eu preciso escrever um script bash em que eu tenho que criar um arquivo que contém os detalhes de endereços IP dos hosts e seu mapeamento com endereços MAC correspondentes.

Existe alguma maneira possível com a qual eu possa descobrir o endereço MAC de qualquer host (remoto) quando o endereço IP do host está disponível?

    
por Mandar Shinde 18.03.2014 / 06:57

4 respostas

32

Se você quiser apenas descobrir o endereço MAC de um determinado endereço IP, pode usar o comando arp para consultá-lo, depois de fazer o ping do sistema 1 vez.

Exemplo

$ ping skinner -c 1
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms

--- skinner.bubba.net ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms

Agora, procure na tabela ARP:

$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0

fing

Se você quiser varrer toda a LAN para endereços MAC, pode usar a ferramenta de linha de comando fing para fazer isso. Normalmente não é instalado, então você terá que baixá-lo e instalá-lo manualmente.

$ sudo fing 10.9.8.0/24

Referências

  • Equivalente ao iwlist para ver quem é por aí?
por 18.03.2014 / 07:07
6

Você pode usar o comando arp :

arp -an

Mas você só pode usar este comando na LAN, se você quiser descobrir o endereço MAC de qualquer host remoto, talvez você deva usar alguma ferramenta para capturar o pacote como tcpdump e analisar o resultado.

    
por 18.03.2014 / 07:05
5

Isso é da minha pergunta e resposta em askubuntu .

Você pode usar o comando

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

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

-sP (Skip port scan) . This option tells Nmap not to do a port scan after host discovery, and only print out the available hosts that responded to the scan. This is often known as a "ping scan", but you can also request that traceroute and NSE host scripts be run. This is by default one step more intrusive than the list scan, and can often be used for the same purposes. It allows light reconnaissance of a target network without attracting much attention. Knowing how many hosts are up is more valuable to attackers than the list provided by list scan of every single IP and host name.

-PE; -PP; -PM (ICMP Ping Types) . In addition to the unusual TCP, UDP and SCTP host discovery types discussed previously, Nmap can send the standard packets sent by the ubiquitous ping program. Nmap sends an ICMP type 8 (echo request) packet to the target IP addresses, expecting a type 0 (echo reply) in return from available hosts.. Unfortunately for network explorers, many hosts and firewalls now block these packets, rather than responding as required by RFC 1122[2]. For this reason, ICMP-only scans are rarely reliable enough against unknown targets over the Internet. But for system administrators monitoring an internal network, they can be a practical and efficient approach. Use the -PE option to enable this echo request behavior.

-A (Aggressive scan options) . This option enables additional advanced and aggressive options.

21,23,80,3389 Portas para pesquisar por

192.168.1.* Intervalo de IPs. substitua pelo seu.

    
por 18.03.2014 / 08:44
2

arping

arping -I <interface> -c 1 <host>

O comando deve retornar o endereço MAC na resposta. Algo como,

$ arping -I eth0 -c1 192.168.1.2
ARPING 192.168.1.2 from 192.168.1.5 eth0
Unicast reply from 192.168.1.2 [08:01:27:38:EF:32]  0.746ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

arping é fornecido pelo pacote iputils-arping no Debian.

    
por 09.02.2016 / 14:39