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

Há alguma maneira possível de descobrir o endereço MAC de qualquer host (remoto) quando o endereço IP do host estiver disponível?

Resposta

Se você deseja apenas descobrir o endereço MAC de um determinado endereço IP, pode usar o comando arp para procurá-lo, assim que você “pingar o 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 no Tabela ARP:

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

fing

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

$ sudo fing 10.9.8.0/24 

    exemplo de dedo

Usando ip

Se você descobrir que não tem os comandos arp ou fing disponíveis, você pode use o comando iproute2 “s ip neigh para ver a tabela ARP do seu sistema:

$ ip neigh 192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE 192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE 192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE 192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE 192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE 

Referências

Comentários

  • Eu sei que esta é uma resposta antiga, mas você tem alguma ideia de como o Fing é implementado? Estou tentando aprender sobre essa camada de rede e as ferramentas para monitorá-la.
  • @akaphenom Se você tiver novas perguntas, por favor, os comentários não estão ‘ t destina-se a isso.
  • mas não é ‘ t arp obsoleto? Como posso fazer isso com ip?
  • @ math2001 – não era ‘ 5 anos atrás, acrescentei um exemplo mostrando como usar ip.
  • O ip neigh funciona na maioria das vezes sem ter que instalar pacotes extras. Portanto, acho que ‘ é a melhor resposta.

Resposta

Você pode usar o comando arp:

arp -an 

Mas você só pode usar este comando em LAN, se você deseja 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.

Comentários

  • tcpdump(8) mostrará apenas os MACs locais (ou seja, o MAC do roteador da última perna). Os cabeçalhos da camada MAC dos pacotes de entrada são retirados pelo roteador e novos são adicionados ao pacote de saída.

Resposta

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 scanner de segurança / porta. Do manual:

-sP (Ignorar varredura de porta). 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 “varredura de ping”, mas você também pode solicitar que os scripts de host traceroute e NSE sejam executados. Por padrão, isso é uma etapa mais intrusiva do que a verificação da lista e pode ser usado frequentemente para os mesmos fins. Ele permite o reconhecimento leve 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 verificação da lista de cada IP e nome de host.

-PE; -PP; -PM ( Tipos de ping ICMP). Além dos tipos incomuns 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 pacote ICMP tipo 8 (solicitação de eco) para os endereços IP de destino, esperando um tipo 0 (resposta de eco) em retorno dos hosts disponíveis. Infelizmente para exploradores de rede, muitos hosts e firewalls agora bloqueiam esses pacotes, em vez de responder como exigido pela RFC 1122 [2]. Por esse motivo, as varreduras somente ICMP raramente são confiáveis o suficiente contra alvos desconhecidos na Internet. Mas para administradores de sistema que monitoram uma rede interna, eles podem ser uma abordagem prática e eficiente. Use a opção -PE para habilitar este comportamento de solicitação de eco.

-A (opções de varredura agressiva). Esta opção ativa opções avançadas e agressivas adicionais.

21,23,80,3389 Portas para pesquisar

192.168.1.* Faixa de IPs. substitua pelo seu.

Comentários

  • -sP é para ” scanPing “, também é -sn em versões nunca do nmap, ao que parece.

Resposta

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.

Comentários

  • arping também precisa ser informado sobre qual interface usar, com o -I opção.
  • Você pode usar arping -f para sair após a primeira resposta.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *