Věděli jste, že můžeme zjistit, který operační systém běží na vzdáleném systému, jednoduše pomocí příkazu ping? Ano! V tomto stručném průvodci uvidíme, jak určit operační systém pomocí TTL hodnotu a Ping příkaz. Tato metoda by měla fungovat na jakémkoli operačním systému, který má nástroj příkazového řádku Ping.
Existuje spousta příkazů, aplikací a utilit pro zjištění OS vzdáleného systému. Nalezení typu operačního systému pomocí TTL je však velmi snadné!
Můžete rychle zjistit, zda systém běží s Linuxem, Windows nebo jakýmkoli jiným OS, když se podíváte na hodnotu TTL z výstupu ping
příkaz. K detekci operačního systému vzdáleného systému nepotřebujete žádné další aplikace.
Hodnota TTL se liší v závislosti na verzi operačního systému a zařízení.
Výchozí počáteční hodnota TTL pro Linux/Unix je 64 a hodnotu TTL pro Windows je 128 .
Zde jsou výchozí počáteční hodnoty TTL pro oblíbené operační systémy jako Linux, FreeBSD, Mac OS, Solaris a Windows.

Úplný seznam hodnot TTL pro různé operační systémy a zařízení si můžete prohlédnout na konci.
Zjistit operační systém vzdáleného hostitele pomocí hodnoty TTL
TTL, znamená Čas žít , je hodnota časovače zahrnutá v paketech odesílaných prostřednictvím sítí založených na TCP/IP, která příjemcům sděluje, jak dlouho mají paket nebo kterákoli z jeho zahrnutých dat držet nebo používat, než vyprší platnost a paket nebo data zahodí.
A příkaz Ping se používá ke kontrole konektivity a dosažitelnosti systému nebo zařízení v místní síti nebo v rozsáhlé síti. Příkaz Ping je ve většině operačních systémů předinstalovaný.
Chcete-li zobrazit hodnotu TTL hostitele Linux/Windows, jednoduše odešlete příkaz ping hostiteli ze sebe nebo z jiných systémů v síti:
Příklad:
$ ping -c5 localhost
Ukázkový výstup z mé plochy Fedory:
PING localhost(localhost (::1)) 56 data bytes 64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.063 ms 64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.057 ms 64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.070 ms 64 bytes from localhost (::1): icmp_seq=4 ttl=64 time=0.067 ms 64 bytes from localhost (::1): icmp_seq=5 ttl=64 time=0.056 ms --- localhost ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4096ms rtt min/avg/max/mdev = 0.056/0.062/0.070/0.005 ms

Jak vidíte, dostávám 64 jako hodnota TTL ve výše uvedeném výstupu. Protože se jedná o systém Linux.
A co hostitelé Windows? Podívejme se, co získáme, když pingneme systém Windows.
Chystám se pingnout na plochu Windows 10 z plochy Fedory. IP adresa mého Windows 10 je 192.168.122.239 .
$ ping -c5 192.168.122.239
Ukázkový výstup:
PING 192.168.122.239 (192.168.122.239) 56(84) bytes of data. 64 bytes from 192.168.122.239: icmp_seq=1 ttl=128 time=6.85 ms 64 bytes from 192.168.122.239: icmp_seq=2 ttl=128 time=0.510 ms 64 bytes from 192.168.122.239: icmp_seq=3 ttl=128 time=0.601 ms 64 bytes from 192.168.122.239: icmp_seq=4 ttl=128 time=0.541 ms 64 bytes from 192.168.122.239: icmp_seq=5 ttl=128 time=0.558 ms --- 192.168.122.239 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4088ms rtt min/avg/max/mdev = 0.510/1.812/6.851/2.519 msms

Všimněte si hodnoty TTL? Je to 128. Výchozí hodnota TTL pro OS Windows je 128.
Počáteční hodnoty TTL
Následující tabulka ukazuje výchozí počáteční hodnoty TTL pro různé operační systémy a zařízení.
Zařízení / OS | Verze | Protokol | TTL |
AIX | TCP | 60 | |
AIX | UDP | 30 | |
Android | 3.2.1 | TCP a ICMP | 64 |
Android | 5.1.1 | TCP a ICMP | 64 |
AIX | 3.2, 4.1 | ICMP | 255 |
BSDI | BSD/OS 3.1 a 4.0 | ICMP | 255 |
Compa | Tru64 v5.0 | ICMP | 64 |
Cisco | ICMP | 254 | |
DEC Pathworks | V5 | TCP a UDP | 30 |
Slévárna | ICMP | 64 | |
FreeBSD | 2.1R | TCP a UDP | 64 |
FreeBSD | 3.4, 4.0 | ICMP | 255 |
FreeBSD | 5 | ICMP | 64 |
HP-UX | 9,0x | TCP a UDP | 30 |
HP-UX | 10.01 | TCP a UDP | 64 |
HP-UX | 10.2 | ICMP | 255 |
HP-UX | 11 | ICMP | 255 |
HP-UX | 11 | TCP | 64 |
Irix | 5.3 | TCP a UDP | 60 |
Irix | 6.x | TCP a UDP | 60 |
Irix | 6.5.3, 6.5.8 | ICMP | 255 |
jalovec | ICMP | 64 | |
MPE/IX (HP) | ICMP | 200 | |
Linux | Jádro 2.0.x | ICMP | 64 |
Linux | jádro 2.2.14 | ICMP | 255 |
Linux | jádro 2.4 | ICMP | 255 |
Linux | Red Hat 9 | ICMP a TCP | 64 |
MacOS/MacTCP | 2.0.x | TCP a UDP | 60 |
MacOS/MacTCP | X (10.5.6) | ICMP/TCP/UDP | 64 |
NetBSD | ICMP | 255 | |
Netgear FVG318 | ICMP a UDP | 64 | |
OpenBSD | 2.6 a 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 a UDP | 30 |
Stratus | TCP_OS (14.3+) | TCP a UDP | 64 |
Stratus | STCP | ICMP/TCP/UDP | 60 |
SunOS | 4.1.3/4.1.4 | TCP a UDP | 60 |
SunOS | 5.7 | ICMP a 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 a 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 a UDP | 128 | |
Windows | pro pracovní skupiny | TCP a UDP | 32 |
Windows | 95 | TCP a UDP | 32 |
Windows | 98 | ICMP | 32 |
Windows | 98, 98 SE | ICMP | 128 |
Windows | 98 | TCP | 128 |
Windows | NT 3.51 | TCP a UDP | 32 |
Windows | NT 4.0 | TCP a 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 | JÁ | ICMP | 128 |
Windows | 2000 pro | ICMP/TCP/UDP | 128 |
Windows | rodina 2000 | 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 |
Windows | 10 | ICMP/TCP/UDP | 128 |
Tato metoda nemusí být vždy přesná. Poskytne však představu o základním operačním systému ve vzdáleném systému. Pokud znáte pouze IP adresu remte systému, můžete použít příkaz Ping k získání názvu OS.
- Referenční odkaz
Související čtení:
- Zobrazení výstupu příkazu Ping ve formátu grafu pomocí Gping
- Tisk časového razítka s výstupem příkazu Ping v systému Linux
- Jak pingnout více hostitelů najednou v Linuxu
- Předpisování – Zkrášlení a snazší čtení příkazu Ping
- Ping pro více serverů a zobrazení výstupu v horním textovém uživatelském rozhraní