GNU/Linux >> Znalost Linux >  >> Linux

Jak identifikovat operační systém pomocí hodnoty TTL a příkazu Ping

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 ms
ms

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 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í

Linux
  1. Jak používat Linux Shutdown and Reboot Command s příklady

  2. Jak kombinovat Ping a Traceroute v Linuxu pomocí příkladů příkazů MTR

  3. Jak vytvářet a aplikovat opravy v GIT pomocí příkazu diff a použít

  1. Použití příkazu timedatectl ke změně času a data v systému RHEL7 Linux

  2. Jak identifikovat pracovní adresáře pomocí Shell znaků a proměnných

  3. Jak získat aktuální operační systém v MSBuild?

  1. Jak nainstalovat a používat příkaz Ping v Linuxu

  2. Jak komprimovat a extrahovat soubory pomocí příkazu tar v systému Linux?

  3. Jak nainstalovat moduly Perl ručně a pomocí příkazu CPAN