Pular para o conteúdo

WHILE para PING em linha de comando

Dica publicada em Linux / Comandos
Pedro Augusto Malanga malanga
Hits: 11.571 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

WHILE para PING em linha de comando

Olá pessoal, sei de outras opções para fazer um scanner e levantar os IPs de uma rede. Porém no caso de já saber qual é minha rede e querer saber somente quem está respondendo o ping, em linha de comando digite:

ip=0; while [ "$ip" -lt 255 ]; do ip=$((ip+1)); echo `ping -c 1 -t 5 192.168.1.$ip`; done;

Ele fará uma busca em 255 posições e teremos respostas parecidas com o seguinte:

PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. --- 192.168.1.2 ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms


ou:

PING 192.168.1.5 (192.168.1.5) 56(84) bytes of data. 64 bytes from 192.168.1.5; icmp_seq=1 ttl=252 time=76.0 ms ---
192.168.1.5 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev =
76.067/76.067/76.067/0.000 ms


Por isso que eu gosto de Linux!

Abraços.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Tempo de execução de um comando - TIME ou TIMES

Nmon - analisando o desempenho do Linux

free - Comando pra saber utilização de memória do Linux

OpenLDAP básico no CentOS

Configurando servidor Proftp no Debian Lenny com autenticação LDAP e filtro por grupo

Copiando seu LILO do disquete para a MBR

Listando pacotes instalados com dpkg

Lendo mensagens de log no openSUSE 11.3

Pgrep e pkill

Visualizando arquivos em modo texto

#1 Comentário enviado por hellnux em 03/02/2011 - 11:46h
Opa,

Só uma pequena contribuição. Em vez de:

ip=$((ip+1))

Pode ser apenas:

(( ip++ ))
#2 Comentário enviado por fabio em 03/02/2011 - 11:47h
Bela dica! Permita-me dar minha contribuição. Para mostrar somente os hosts que estão respondendo:

ip=0; while [ "$ip" -lt 15 ]; do ip=$((ip+1)); echo `ping -c 1 -t 5 192.168.78.$ip` 2>/dev/null | grep '1 received'; done;

Ou seja, apenas acrescentei o seguinte após o comando ping:

| grep '1 received'

Um abraço.
#3 Comentário enviado por luizluca em 03/02/2011 - 14:17h
Olá amigo,

Só para deixar registrado outra forma de varrer a rede por ping:

nmap -sP 192.168.1.0/24

Nmap é muito bom.
#4 Comentário enviado por fernandomerces em 04/02/2011 - 01:04h
Opa, legal a idéia. Vou contribuir também:

# Eu usaria o for, pra ficar menor
$ for i in `seq 1 254`; do ping -c 1 192.168.0.$i; done

# O BASH também suporta o C-style
$ for ((i=1; i<255; i++)); do ping -c 1 192.168.0.$i; done

Abraços!
#5 Comentário enviado por malanga em 04/02/2011 - 21:56h
valeu pessoal


show de bola as dicas....


Contribuir com comentário

Entre na sua conta para comentar.