운영체제에 따라 TTL 값이 다르다. 통신사는 이를 이용해 운영체제를 알아내기도 한다.
Linux = 64
Windows = 128
Cisco = 256
각 OS가 사용하는 TTL값은 다음과 같다.
OS | TTL |
---|---|
AIX 4.2.x IBM/RS6000 | 60 |
AIX 4.3.x IBM/RS6000 | 60 |
Cisco 11.2 7507 | 60 |
Cisco 12.0 2514 | 255 |
DigitalUnix 4.0 Alpha | 60 |
FreeBSD 3.x Intel | 64 |
FTX(UNIX) 3.3 STRATUS | 64 |
IRIX 6.x SGI | 60 |
Linux 2.2.x Intel | 64 |
Netware 4.11 Intel | 128 |
OpenBSD 2.x Intel | 64 |
OSX Intel | 64 |
SCO R5 Compaq | 64 |
Solaris 2.x Intel/Sparc | 255 |
Solaris 8 Intel/Sparc | 64 |
Unisys x Mainframe | 64 |
Windows 9x/NT Intel | 32 |
Windows 9x/NT Intel | 128 |
Windows 2000/XP Intel | 128 |
출처: https://namu.wiki/w/TTL#s-3
레지스트리에서
HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Name: DefaultTTL
Type: REG_DWORD
Valid Range: 1-255
이 값을 변경하면 된다. Windows의 기본 TTL은 128이나 이를 64로 바꾸면 통신사는 리눅스로 판별한다.
안드로이드의 TTL도 64이다.[1]
통신사에서 제한을 걸 때도 TTL을 이용한다. 안드로이드 폰에서 테더링을 해서 노트북을 이용한다면 통신사는 TTL이 128, 아마도 Windows를 사용하는 노트북의 통신 속도를 제한한다. 이럴 때는 노트북의 TTL 값을 바꿔주면 된다.
[1] Initial TTL values, http://noahdavids.org/self_published/TTL_values.html