Internet Control Message Protocol (ICMP) - parte 2
Outra parte crucial do ICMP é o campo Time-To-Live (TTL) no cabeçalho do
pacote ICMP, que limita o tempo de vida do pacote enquanto ele viaja pela
rede. Isso evita que os pacotes circulem indefinidamente na rede em caso de
loops de roteamento. Cada vez que um pacote passa por um roteador, este
diminui o valor TTL em 1. Quando o valor TTL chega a 0, o router descarta o
pacote e envia uma mensagem ICMP Time Exceeded de volta ao remetente.
Também pode-se usar o TTL para determinar o número de saltos que um pacote percorreu e a distância aproximada até ao destino. Por exemplo, se um pacote tem um TTL de 10 e leva 5 saltos para chegar ao seu destino, pode-se inferir que o destino está a aproximadamente 5 saltos de distância. Por exemplo, se observarmos um ping com o valor TTL de 122, isso pode significar que estamos a lidar com um sistema Windows (TTL 128 por padrão) que está a 6 saltos de distância.
No entanto, também é possível adivinhar o sistema operativo com base no valor TTL padrão usado pelo dispositivo. Cada sistema operativo normalmente tem um valor TTL padrão ao enviar pacotes. Esse valor é definido no cabeçalho do pacote e é diminuído em 1 cada vez que o pacote passa por um roteador. Portanto, examinar o valor TTL padrão de um dispositivo torna possível inferir qual sistema operativo o dispositivo está a usar. Por exemplo: os sistemas Windows (2000/XP/2003/Vista/10) normalmente têm um valor TTL padrão de 128, enquanto os sistemas macOS e Linux normalmente têm um valor TTL padrão de 64 e o Solaris tem um valor TTL padrão de 255. No entanto, é importante observar que o utilizador pode alterar esses valores, portanto, eles devem ser independentes de uma maneira definitiva de determinar o sistema operativo de um dispositivo.
Também pode-se usar o TTL para determinar o número de saltos que um pacote percorreu e a distância aproximada até ao destino. Por exemplo, se um pacote tem um TTL de 10 e leva 5 saltos para chegar ao seu destino, pode-se inferir que o destino está a aproximadamente 5 saltos de distância. Por exemplo, se observarmos um ping com o valor TTL de 122, isso pode significar que estamos a lidar com um sistema Windows (TTL 128 por padrão) que está a 6 saltos de distância.
No entanto, também é possível adivinhar o sistema operativo com base no valor TTL padrão usado pelo dispositivo. Cada sistema operativo normalmente tem um valor TTL padrão ao enviar pacotes. Esse valor é definido no cabeçalho do pacote e é diminuído em 1 cada vez que o pacote passa por um roteador. Portanto, examinar o valor TTL padrão de um dispositivo torna possível inferir qual sistema operativo o dispositivo está a usar. Por exemplo: os sistemas Windows (2000/XP/2003/Vista/10) normalmente têm um valor TTL padrão de 128, enquanto os sistemas macOS e Linux normalmente têm um valor TTL padrão de 64 e o Solaris tem um valor TTL padrão de 255. No entanto, é importante observar que o utilizador pode alterar esses valores, portanto, eles devem ser independentes de uma maneira definitiva de determinar o sistema operativo de um dispositivo.

Comentários