Defina a máscara de caractere curinga para ping

1

Existe uma maneira de fazer um comando como ping 10.0.0.0 0.255.255.255 (máscaras curinga), sem instalar um programa, ou uma maneira similar de pingar todos os nós dentro de uma rede / sub-rede específica?

Eu vejo algo como ping -b para pings de transmissão, mas parece não funcionar (possivelmente porque o roteador não aceita isso, mas não tenho certeza).

    
por No Time 28.05.2014 / 21:12

1 resposta

3

ping não irá dominar netmasks ou curingas.

Você pode enviar um ping para o endereço de broadcast de uma sub-rede e monitorar as respostas, embora muitos roteadores se recusem a rotear o ICMP pela transmissão, porque é geralmente visto como tráfego abusivo . Além disso, somente o root pode inundar com um intervalo zero.

Por exemplo:

ping -fb <BROADCAST ADDRESS>

Em vez disso, você realmente deve usar o NMAP de uma forma amigável.

ETA: se o que você deseja é uma lista de respostas de nós, podemos ficar um pouco mais inteligentes:

ping -b -c 2 -i 20 <BROADCAST ADDRESS>

Onde -b permite pingar um endereço de broadcast, -c 2 diz ao ping para enviar dois pings, -i 20 diz ao ping para aguardar vinte segundos entre eles.

O que você recebe é uma lista quase instantânea de respostas com uma espera de vinte segundos antes do término, seguida por estatísticas de tráfego. O motivo para fazer duas solicitações de eco de ping é porque se você definir -c 1 , o ping terminará na primeira resposta recebida. Nós estabelecemos vinte segundos entre os dois para que a lista de respostas seja um pouco legível. É um hack, mas funciona.

A partir daqui, você pode suprimir a saída de estatísticas canalizando para head -n-4 e, em seguida, usar truques awk úteis, sort , uniq e similares para criar um relatório de uma linha útil.

    
por James S. 28.05.2014 / 21:35