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"
- Consulte: FOR / L
Como posso pingar um intervalo de endereços começando com A e terminando com B?
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"
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!
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"
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.