Translate

segunda-feira, 10 de maio de 2010

Identificando o Sistema Operacional pelo Ping...

Com o comando ping podemos identificar o Sistema Operacional utilizado.
O comando ping trabalha com o protocolo ICMP enviando mensagens. Quando uma maquina de destino recebe um Echo Request ela retorna um Echo Reply.
Para descobrir qual Sistema Operacional está sendo utilizado vamos usar o TTL (Time to Live). Este valor indica quanto tempo o pacote vai ficar circulando antes de ser descartado.
Cada Sistema Operacional trabalha com um TTL padrão e desta forma podemos identificar o tipo de sistema.

Exemplo 1 :

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

Exemplo 2:

$ ping 127.0.0.1
PING 127.0.0.1 bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=128 time=0.176 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=128 time=0.183 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=128 time=0.189 ms

Abaixo está representado o valor padrão do TTL para alguns sistemas operacionais:


Sistema
TTL
UNIX
255
Linux
64
Windows
128

Com estes números já podemos determinar o Sistema Operacional dos exemplos acima. No caso do Exemplo1 o ttl=64 nos diz que o sistema utilizado é Linux, e para o Exemplo2 podemos dizer que o sistema usado é Windows.
Os roteadores estão programados para decrementar o TTL a cada pacote que passa por ele. Se uma maquina Windows for "pingada" e o valor TTL for 126 significa que antes de chegar ao destino existem 2 roteadores.

2 comentários:

  1. Boa garoto, usei a dica pra conhecer um pouco mais sobre o comando Ping! Valeu!

    Ricardo

    ResponderExcluir
  2. Estamos sempre pesquisando para melhor ajudar a todos !!!

    ResponderExcluir