'cmd.exe' comando para pingar um intervalo de endereços

0

Como posso pingar um intervalo de endereços começando com A e terminando com B?

    
por Jimmy 04.05.2012 / 21:13

4 respostas

3

Você pode usar um loop for para fazer ping de cada endereço IP, um de cada vez, mas isso é incrivelmente lento .

for /l %i in (1,1,255) do ping -n 1 192.168.0.%i | find /i "Reply"
por 04.05.2012 / 21:52
0

Vamos entender melhor esse comando e como ele realmente funciona. O comando

for /l %i in (1,1,255) do ping -n 1 192.168.0.%i | find /i "Reply"

diz para: Faça um loop de pings de 1, contando até 1 de cada vez, até chegar a 255, enquanto aguarda apenas 1 resposta na rede especificada de 192.168.0.XXX.

Para especificar De A para B está na parte (1,1,255) do comando. Como (x, y, z) x representa o seu valor A (ou ponto de partida para o seu intervalo), y representa o valor da contagem para encontrar o próximo valor a tentar, ez representa o valor B (ou o final máximo do seu intervalo) .

Comando muito útil e o que eu faço é dividir o comando em 3 intervalos, abrindo 3 prompts de comando e executando todos os 3 intervalos simultaneamente para acelerar o processo e ajudar na legibilidade. A legibilidade é o motivo pelo qual eu finalmente comecei a usar 3 ranges, porque executar o comando full range produzirá resultados sim, mas a rolagem de volta só volta atrás, tornando-a útil somente em intervalos curtos.

Intervalo 1-80:

for /l %i in (1,1,80) do ping -n 1 192.168.0.%i | find /i "Reply" 

Intervalo 81-165:

for /l %i in (81,1,165) do ping -n 1 192.168.0.%i | find /i "Reply"

Intervalo 166 a 255:

for /l %i in (166,1,255) do ping -n 1 192.168.0.%i | find /i "Reply"

Boa sorte e aproveite!

    
por 14.04.2016 / 00:33
0

Veja como fazer isso com um tempo limite de 100 ms e saída mais pura:

FOR /L %i IN (1,1,254) DO @ping -n 1 -w 100 192.168.1.%i | FIND /i "TTL"
    
por 04.05.2017 / 20:30
0

Para acelerar a resposta reconhecidamente lenta acima, e supondo que o nó que você está procurando esteja na lan ou em um wan rápido, adicione um tempo limite ao ping (20 milissegundos aqui):

for /l %i in (1,1,255) do ping -w 20 -n 1 192.168.0.%i | find /i "Reply"

Isso é útil se você não tiver um utilitário adequado e não tiver uma porta ou quiser fazer uma varredura de porta ampla ou se o cliente não estiver ouvindo em nenhuma porta.

    
por 15.03.2014 / 00:22

Tags