Revele o sistema com apenas 1 ping

Publicado por Hudson Moreira Guimaraes dos Santos em 11/09/2011

[ Hits: 10.309 ]

 


Revele o sistema com apenas 1 ping



Ola, essa dica é para iniciantes e que pretendem trabalhar com rede ou coisa do tipo.

Muita gente usa o ping para teste de conexão do tipo "checar o tempo de conexão" ou se o "host está no ar", mas não sabe que da pra fazer coisas mais legais como:
  • Descobrir o sistema operacional (em partes);
  • Saber a distancia (numero de rotas) que a requisição do ping passou.
Vamos la!

# ping www.google.com.br
PING www.l.google.com (74.125.234.112) 56(84) bytes of data.
64 bytes from 74.125.234.112: icmp_seq=1 ttl=56 time=137 ms

O assunto dessa dica gira em torno da TTL (Time to Live).

"TTL é um acrônimo do inglês Time to Live, que significa o número de saltos entre máquinas que os pacotes podem demorar numa rede de computadores antes de serem descartados (máximo 255).

Qualquer router está programado para descontar uma unidade do TTL aos pacotes que o atravessam. Esta é uma forma de evitar que os pacotes permaneçam na rede por tempo infinito, caso o routing não esteja a ser feito devidamente, como no caso de looping." (Fonte: wikepedia - http://pt.wikipedia.org/wiki/Time_to_Live).

O padrão da ttl dos sistemas operacionais são:
  • Linux = 64
  • Windows = 128
  • Unix = 255
Mas porque a ttl no ping feito a cima contra o google retornou 56?

Como explicado, existe uma subtração em cada salto do ping, cada máquina (router) que o ping passa é tirado 1 da ttl, o número mais próximo do ttl padrão para 56 é 64, por tanto minha maquina esta à 8 routers de distância do servidor do Google (nossa aqui do lado rsrsrs) e se é 64, ele é um Linux (putis que legal! A máquina do Google que estou acessando é Linux rsrsrsrs).

Mas, ha Controvérsias!

Você pode mudar o numero de sua ttl para qualquer numero a baixo de 255.

Fazer isso no Linux é muito fácil, basta editar o arquivo "ip_default_ttl" dentro de "/proc/sys/net/ipv4" assim:

# echo 128 > /proc/sys/net/ipv4/ip_default_ttl

Com isso, se tiver alguém "snirfando" sua rede vão pensar que você esta usando um Windows.

Você pode deixar essa alteração definitiva acrescentando "net.ipv4.ip_default_ttl = 128" no arquivo "/etc/sysctl.conf":

# echo "net.ipv4.ip_default_ttl = 128" >> /etc/sysctl.conf

Bom é isso ai.

Outras dicas deste autor

Criando códigos de barra sequenciais usando Shell Script e PHP

Ler arquivos de texto com o Gambas

Leitura recomendada

KMyFirewall - ferramenta gráfica para as regras do iptables

Filtrando porcarias com Squid IV

Colocando senha criptografada no Grub

Perdeu a senha de root? Não esquenta!

Web Application Security com CAL9000

  

Comentários
[1] Comentário enviado por br_rafael em 11/09/2011 - 08:23h

Então o Hotmail.com finge ser Unix

[2] Comentário enviado por removido em 11/09/2011 - 12:35h

@hudyfx,

boa dica essa e já vai pros favoritos!

[]'s

[3] Comentário enviado por gabriel_Torelli em 14/09/2011 - 09:31h

Boa dica. Mas se você usar um port scanner competente como o nmap, a dica já não funciona.
$ echo 128 > /proc/sys/net/ipv4/ip_default_ttl
$ nmap -O localhost


[4] Comentário enviado por hudyfx em 14/09/2011 - 12:22h

sim!! como descrito no inicio da dica:
"Ola, essa dica é para iniciantes e que pretendem trabalhar com rede ou coisa do tipo."
acredito que vc não pode chegar no nmap andes de saber o que realmente um ping faz.
essa dica seria extremamente exata se ninguém mudasse sua ttl.. como isso não ocorre vc pode usar um "port scan" ou um "ip scan" da vida como o nmap, acho que um iniciante deve saber certas coisas básicas antes de pegar essas paradinhas mais roots sacou?
é isso ai
valeu amigo!!!!

[5] Comentário enviado por vitorioluis em 23/09/2011 - 16:47h

boa dica.... para iniciantes

[6] Comentário enviado por hudyfx em 24/09/2011 - 01:52h

opa valeuww



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts