//

Identificar o sistema operacional usando ping

Com o comando ping podemos identificar o sistema operacional utilizado.

O ping trabalha com o protocolo ICMP enviando mensagens, quando uma máquina 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), ele vai dizer quanto tempo o pacote vai ficar circulando antes de ser descartado.

Cada sistema operacional trabalha com um TTL padrão, por isso podemos identificar o sistema através dele.


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


Segue o TTL padrão de alguns sistemas operacionais:

UNIX: 255
Linux: 64
Windows: 128

Com estes números já podemos determinar o sistema operacional dos exemplos acima. No caso do exemplo 1, o ttl=64 nos diz que o sistema utilizado é Linux e no exemplo 2 podemos dizer que o sistema usado é Windows.

Os roteadores estão programados para decrementar o TTL a cada pacote que passa por ele, ou seja, se uma máquina Windows for "pingada" e o valor TTL for 126, significa que antes de chegar ao destino existem 2 roteadores.

0 comentários:

Postar um comentário

Copyright © Mobral Tecnológico