The TTL value in a ping command can be
used to make an educated guess about the operating system of a remote
host. While these values can be modified by network configurations,
they serve as useful default indicators.
| Operating System | Default TTL Value |
|---|---|
| Windows (All versions) | 128 |
| Linux (Default) | 64 |
| macOS / iOS | 64 |
| Android | 64 |
| Solaris / AIX | 255 |
| Cisco Routers | 255 |
| FreeBSD / Unix (BSD) | 255 |
ping Command to Guess OSReply from 192.168.1.10: bytes=32 time<1ms TTL=128
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=0.045 ms
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
While TTL is a great clue, keep the following in mind:
TTL=54.TTL is best used as one part of the puzzle, especially when combined with other methods like traceroute or banner grabbing for more accurate identification.