Linux: Ping todo o host na sub-rede

5

Existe um comando solaris para fazer ping de todos os hosts na sub-rede, emitindo:

ping -s 255.255.255.255

Existe algo semelhante a este no linux? Minha intenção é encontrar um endereço mac como abaixo depois de pingar todos os hosts:

arp -an | grep mac_address
    
por user173141 26.12.2016 / 13:27

3 respostas

2

Tudo o que você está fazendo é fazer o ping do endereço de broadcast. A versão GNU / Linux do ping requer que você use a opção -b

-b Allow pinging a broadcast address

Também não parece haver um equivalente direto da opção -s do Solaris (ela está pingando apenas a cada segundo e coletando estatísticas), mas talvez esteja enterrada no Man pages do Linux - vale a pena ler (como pode ser o Solais ).

Eu não iria pingar 255.255.255.255 (pode demorar um pouco para ser concluído) Eu usaria o endereço de broadcast da rede que eu estava conectado.

    
por 26.12.2016 / 14:01
6

Você sempre pode tentar fazer ping para o endereço de broadcast da sua sub-rede. Depende da sua configuração de rede local, mas você pode encontrá-lo com

$ ifconfig wlp4s0 | grep Bcast
      inet addr:192.168.199.47  Bcast:192.168.199.255  Mask:255.255.255.0

O ping do Linux requer o parâmetro de linha de comando -b , que é uma espécie de precaução do comando.

No entanto, isso não garante que você coletará todos os endereços MAC de todos os dispositivos conectados à sua sub-rede, pois é o mesmo dispositivo que realmente atende a solicitações ICMP ECHO enviadas para endereços de broadcast, mesmo que isso tenha sido planejado de outra forma. idades iniciais dos RFCs TCP / IP (veja se /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts está definido como 1).

Para ter mais certeza de cobrir todos os endereços, faça um ping deles individualmente com

$ for ip in 192.168.199.{1..254}; do ping -c1 ${ip} & done

Mais ou menos o mesmo é alcançado se você usar um tipo de varredura especial do nmap com

$ sudo nmap -sn -PE -n 192.168.179.1-254

Essa também é a minha maneira recomendada de investigar, já que você pode ajustar a maneira como pergunta aos clientes sobre seus endereços MAC.

    
por 26.12.2016 / 15:00
0

Tente

ping -b 10.0.0.255

em onde ifconfig mostra o endereço de broadcast é 10.0.0.255

    
por 26.12.2016 / 20:16