Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu com LXDE
Por desk_mod
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Identificar o sistema operacional usando ping
Linux user
Publicado por Denis Gabriel Ignacio em 05/05/2010

Login: denisignacio, 53797 pontos
[ Hits: 11581 ]

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.

É isso, fica a dica.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Selecionar arquivos a partir do tamanho
   Dica Linux recomendada O comando fuser
   Dica Linux recomendada Como remover os pacotes rpm
   Dica Linux recomendada Desabilitando o touchpad com script
   Dica Linux recomendada Trabalhando com módulos no FreeBSD

Comentários
[1] Comentário enviado por smmusashi em 05/05/2010 - 08:31h:

Bom dia Denis, só complementando sua informação, não podemos confiar muito no valor do TTL pois é possível alterá-lo, nos meus servidores linux por exemplo eu deixo o ttl padrão como 128, isso é feito facilmente alterando o /proc.

Nos servidores windows ou maquinas windows é possível alterar o valor do TTL através do regedit. Com Unix não tenho experiência, mas creio que também seja possível realizar esta tarefa.

[2] Comentário enviado por denisignacio em 05/05/2010 - 08:47h:

Olá smmusashi, creio que no UNIX tambem é possivel fazer esta alteração. esta dica é apenas uma informação que achei interessante e resolvi repasar.

Um abraço.

[3] Comentário enviado por intelitec em 05/05/2010 - 09:13h:

Nos sistemas microsoft também é possivel fazer a alteração do TTL através de chaves de registro de do utilitario netsh...

[4] Comentário enviado por cenoura em 05/05/2010 - 09:33h:

Não é muito confiável utilizar este método para detectar o SO pois, além de ser possível mudar o TTL (conforme já dito acima), muitas redes bloqueiam tráfego ICMP no firewall, impedindo o uso do ping.

[5] Comentário enviado por removido em 05/05/2010 - 10:06h:

É confiável até ser utilizado este comando


sysctl -w net.ipv4.ip_default_ttl=128

Pronto. Linux com ttl de windows.

[6] Comentário enviado por leovailati em 05/05/2010 - 13:48h:

Muito boa a dica, cara. Já fiz testes aqui, funciona inclusive para diferenciar equipamentos de rede.

Valeu mesmo.

[7] Comentário enviado por murderb13 em 05/05/2010 - 14:20h:

muito boa a sua dica.

mesmo q seja possivel alterar o valor é uma excelente dica..
valeu.!

[8] Comentário enviado por edisonsousa em 06/05/2010 - 11:53h:

Boa essa dica, podemos utiliza-la quando trabalhamos com uma grande rede e temos uma diversificação gigantesca, onde sabemos que nenhum engraçadinho vai ficar mudando o ttl, de resto não é muito confiável, mais valeu mesmo.

[9] Comentário enviado por aramisoliveira em 15/11/2010 - 03:34h:

Meus parabénss


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.