Como Descobrir o tipo do Sistema Operacional Através do TTL - Time To Live

TTL (Time To Live) é um temporizador embutido nos pacotes que são enviados através das redes. Sua função é contar o número de saltos entre máquinas na rede antes que o pacote seja descartado. O TTL informa ao destinatário quanto tempo ele deve ficar ou usar o pacote antes que ele expire

Existe valores diferentes do TTL para cada grupo de Sistemas Operacionais. Você pode descobrir facilmente o tipo do SO com base no valor do TTL usando apenas o comando ping mais endereço do host.  
Vide na imagem abaixo o resultado obtido através de ping "dicasquefunfa.com.br":

Como você pode ver na imagem acimaTTL foi 128. Este site está hospedado em um sistema Windows, por isso ele retornou o valor TTL 128. 

Logo, a partir desses resultados, podemos descobrir o tipo do sistema operacional em nossa rede ou na internet. 
Vide abaixo, tabela resumida com valores TTL, os valores TTL padrão de diferentes Sistemas Operacionais:
Device / SO
TTL
Linux/Unix
64
Windows
128
Solaris/AIX
254
  
  • Na tabela abaixo estão todos os valores TTL padrão de diferentes dispositivos / Sistemas Operacionais:

Device / SO
Versão
Protocolo
TTL
AIX

TCP
60
AIX

UDP
30
AIX
3.2, 4.1
ICMP
255
BSDI
BSD/OS 3.1 and 4.0
ICMP
255
Compa
Tru64 v5.0
ICMP
64
Cisco

ICMP
254
DEC Pathworks
V5
TCP and UDP
30
Foundry

ICMP
64
FreeBSD
2.1R
TCP and UDP
64
FreeBSD
3.4, 4.0
ICMP
255
FreeBSD
5
ICMP
64
HP-UX
9.0x
TCP and UDP
30
HP-UX
10.01
TCP and UDP
64
HP-UX
10.2
ICMP
255
HP-UX
11
ICMP
255
HP-UX
11
TCP
64
Irix
5.3
TCP and UDP
60
Irix
6.x
TCP and UDP
60
Irix
6.5.3, 6.5.8
ICMP
255
juniper

ICMP
64
MPE/IX (HP)

ICMP
200
Linux
2.0.x kernel
ICMP
64
Linux
2.2.14 kernel
ICMP
255
Linux
2.4 kernel
ICMP
255
Linux
Red Hat 9
ICMP and TCP
64
MacOS/MacTCP
2.0.x
TCP and UDP
60
MacOS/MacTCP
X (10.5.6)
ICMP/TCP/UDP
64
NetBSD

ICMP
255
Netgear FVG318

ICMP and UDP
64
OpenBSD
2.6 & 2.7
ICMP
255
OpenVMS
07.01.2002
ICMP
255
OS/2
TCP/IP 3.0

64
OSF/1
V3.2A
TCP
60
OSF/1
V3.2A
UDP
30
Solaris
2.5.1, 2.6, 2.7, 2.8
ICMP
255
Solaris
2.8
TCP
64
Stratus
TCP_OS
ICMP
255
Stratus
TCP_OS (14.2-)
TCP and UDP
30
Stratus
TCP_OS (14.3+)
TCP and UDP
64
Stratus
STCP
ICMP/TCP/UDP
60
SunOS
4.1.3/4.1.4
TCP and UDP
60
SunOS
5.7
ICMP and TCP
255
Ultrix
V4.1/V4.2A
TCP
60
Ultrix
V4.1/V4.2A
UDP
30
Ultrix
V4.2 – 4.5
ICMP
255
VMS/Multinet

TCP and UDP
64
VMS/TCPware

TCP
60
VMS/TCPware

UDP
64
VMS/Wollongong
1.1.1.1
TCP
128
VMS/Wollongong
1.1.1.1
UDP
30
VMS/UCX

TCP and UDP
128
Windows
for Workgroups
TCP and UDP
32
Windows
95
TCP and UDP
32
Windows
98
ICMP
32
Windows
98, 98 SE
ICMP
128
Windows
98
TCP
128
Windows
NT 3.51
TCP and UDP
32
Windows
NT 4.0
TCP and UDP
128
Windows
NT 4.0 SP5-

32
Windows
NT 4.0 SP6+

128
Windows
NT 4 WRKS SP 3, SP 6a
ICMP
128
Windows
NT 4 Server SP4
ICMP
128
Windows
ME
ICMP
128
Windows
2000 pro
ICMP/TCP/UDP
128
Windows
2000 family
ICMP
128
Windows
Server 2003

128
Windows
XP
ICMP/TCP/UDP
128
Windows
Vista
ICMP/TCP/UDP
128
Windows
7
ICMP/TCP/UDP
128
Windows
Server 2008
ICMP/TCP/UDP
128

Comentários

  1. E se o valor do TTL for diferente dos que tem na tabela?

    Como proceder?

    EX:


    >ping www.uol.com.br

    Pinging homeuol.ipv6uol.com.br [200.147.67.142] with 32 bytes of data:
    Reply from 200.147.67.142: bytes=32 time=10ms TTL=244
    Reply from 200.147.67.142: bytes=32 time=10ms TTL=244
    Reply from 200.147.67.142: bytes=32 time=10ms TTL=244
    Reply from 200.147.67.142: bytes=32 time=10ms TTL=244

    Ping statistics for 200.147.67.142:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 10ms, Maximum = 10ms, Average = 10ms

    >ping www.terra.com.br

    Pinging www.terra.com.br [208.84.244.116] with 32 bytes of data:
    Reply from 208.84.244.116: bytes=32 time=121ms TTL=53
    Reply from 208.84.244.116: bytes=32 time=121ms TTL=53
    Reply from 208.84.244.116: bytes=32 time=121ms TTL=53
    Reply from 208.84.244.116: bytes=32 time=121ms TTL=53

    Ping statistics for 208.84.244.116:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 121ms, Maximum = 121ms, Average = 121ms

    ResponderExcluir
    Respostas
    1. Olá, OsniKniess!
      Bem observado. Nesse caso, você deve procurar na tabela o valor mais próximo.

      Exe:
      Sabemos que o valor 53 está próximo do valor padrão TTL de Sistemas Linux.
      E o TTL 254 está próximo de SO Unix.
      Logo, TTL=53 - Sistemas Linux e TTL 254 - Sistemas Unix.

      Vamos atualizar esse post. Obrigado pela contribuição.

      Excluir

Postar um comentário

ATENÇÃO!

É de inteira responsabilidade dos usuários seguirem as dicas postadas no Blog DicasQueFunfa.

Assim que possível, responderemos sua pergunta.
Seguir DicasQueFunfa no Facebook e no Google+:
facebook.com/DicasQueFunfa
https://plus.google.com/+DicasQueFunfaBr

LEIA-ME

Criar ferramentas e scripts que facilitam seu trabalho no dia a dia, solucionar problemas, documentar tudo e criar o passo a passo de como resolver, é uma tarefa que requer tempo e disposição. Por esse motivo, precisamos de sua contribuição.




Apesar de não ser obrigatória, a sua doação é muito importante para continuarmos criando ferramentas, scripts e procedimentos!
Com sua contribuição manteremos o funcionamento e desenvolvimento dessas e outras soluções.