Não é possível pingar o endereço de broadcast

7
  • Endereço do host: 192.168.0.13
  • Rede: 192.168.0.0 255.255.255.0
  • Roteador: Cisco DPC3825 DOCSIS 3.0 Gateway ( manual do usuário )

Minha rede doméstica usa a rede 192.168.0.0 /24 dos meus dispositivos (principalmente sem fio). Em muitas outras redes que frequento, vou efetuar o ping do endereço de difusão aplicável para mostrar todos os dispositivos atualmente em direto nos meus resultados (% 7 x64) de arp -a . Pingar o endereço de transmissão de uma rede ajuda-me a identificar dispositivos que estão se comunicando atualmente na mesma rede.

Na minha rede doméstica, estou perdendo 100% dos pacotes enviados para 192.168.0.255 . Assim, arp -a não mostra todos os dispositivos que estão ativos na minha rede. Todos os dispositivos se conectam diretamente ao meu roteador e depois ao meu provedor.

Por que não consigo fazer o ping do endereço de broadcast nesta rede? Fazer login diretamente no roteador para verificar a tabela do cliente DHCP é inconveniente.

Atualizar : essas tentativas de ping são feitas a partir de um computador conectado diretamente ao roteador via ethernet. Eu tentei as mesmas tentativas de ping de vários dispositivos sem fio sem sucesso.

    
por root 16.02.2014 / 15:30

3 respostas

8

Eu acho que os tempos em que os sistemas operacionais responderam aos pings de transmissões já se foram há muito tempo. Tanto quanto eu sei, todo sistema operacional moderno ignora esses pedidos como uma medida de segurança para evitar tempestades de transmissão.

O padrão no Linux:

$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 1

Se você quiser descobrir máquinas, terá que recorrer ao ping unicast (nmap, ping loop ou outros meios), mas note que pode haver máquinas configuradas para sempre ignorar solicitações de ping.

    
por 19.02.2014 / 14:01
2

Já foi discutido que responder pings para transmitir endereços não é mais considerado boa prática. Você pode alternativamente fazer ping no grupo multicast de todos os hosts que usa o IP 224.0.0.1. Em teoria, todos os hosts com capacidade de difusão seletiva devem responder a um ping para esse IP, mas ouvi falar de hosts que não o fazem.

Para mais sobre endereços multicast, leia o tldp: link

Outra opção seria apenas unicast todos os endereços IP em seu segmento de rede que pode ser facilmente alcançado usando ferramentas internas na maioria dos sistemas. Eu realmente só conheço o GNU / Linux e o MS Windows, então só posso dar exemplos para esses sistemas.

GNU / Linux

for lastoctet in $(seq 254); do ping -c 1 192.168.0.$lastoctet; done

MS Windows

for /l %i in (1,1,254) do ping -n 1 192.168.0.%i

Não é tão fácil quanto ping 192.168.0.255 , mas funciona na maioria das circunstâncias.

    
por 19.02.2014 / 16:19
0

Com referência ao que #Jorge Nerin disse:

Defina o parâmetro ignore como 0. ou seja,

$ sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts=0

Faça isso com privilégios de root em todos os dispositivos da rede. Isso permitirá que as respostas transmitam pings.

PS: isso pode representar uma ameaça à segurança.

    
por 13.06.2016 / 12:29