A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa

Ping identifica SO

Dom

9

Mai

2010


11:40

(5 votos, média 5.00 de 5) 


Através da lista Dicas-L, do Rubens Queiroz de Almeida, recebi uma dica enviada pelo Denis Gabriel Ignacio que achei muito interessante: usar o ping para identificar o sistema operacional da máquina "pingada".

Só para refrescar a memória: o comando ping envia mensagens usando o protocolo ICMP. Quando a máquina destino recebe uma mensagem solicitando eco (echo request), ela devolve uma resposta (echo reply). Estas respostas costumam ser apresentadas da seguinte forma no console:

  $ ping 200.195.168.72
PING 200.195.168.72 bytes of data.
64 bytes from 200.195.168.72: icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from 200.195.168.72: icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from 200.195.168.72: icmp_seq=3 ttl=64 time=0.029 ms

Observe as linhas correspondentes a cada resposta recebida. São pacotes de 64 bytes recebidos como resposta de eco da máquina "pingada", cujos TTL são iguais a 64. TTL vem de Time To Live, que significa tempo de vida e indica o tempo que o pacote pode ficar circulando na rede antes de ser descartado por não ter encontrado seu destino. É aí que está o pulo do gato: cada sistema operacional cria pacotes com um TTL padrão:

   SO         TTL
---------|---------
 Unix 255
Linux 64
Windows 128

No exemplo mostrado acima, sabemos que a resposta ao ping foi dada por uma máquina cujo sistema operacional é o Linux. Se o TTL fosse 128, o sistema operacional seria o Windows.

É isso aí, mas tem mais uma coisinha. Caso o pacote de resposta, ao transitar pela rede, tenha passado por algum roteador antes de alcançar a máquina chamadora, então o valor do TTL muda. Isto acontece porque os roteadores são os responsáveis pelo "consumo" do TTL dos pacotes. Se assim não fosse, os pacotes nunca teriam seu TTL esgotado e nunca seriam descartados smile

Apenas para ilustrar. Se uma das respostas do exemplo acima retornasse com um TTL=62, isto nos abriria três possibilidades sobre o caminho de volta do pacote:

  • Pacote Linux que passou por dois roteadores (64 - 2 = 62)
  • Pacote Windows que passou por 66 roteadores (128 - 66 = 62)
  • Pacote Unix que passou por 193 roteadores (255 - 193 = 62)

A primeira hipótese, naturalmente, é a mais provável. Além disto, o conjunto dos pacotes retornados também serve de ponto de apoio para decidir o que é correto.

Esta dica nos mostra o quanto o ping, dependendo do usuário, pode ser útil ou perigoso. É útil quando estamos trabalhando sério e precisamos de informações para testar nossa rede; é perigoso quando esquecemos de desabilitar o ping das máquinas da nossa rede e entregamos de bandeja informações preciosas para hackers mal intencionados que também conhecem esta dica.

Valeu, pessoal.

Abraço da vó vovo

биография Вадим Логофет точилка для косметических карандашейотзывы ооо полигонasus ноутбукиtranslation andSoft Компанияалександр лобановский

Informações adicionais