GNU/Linux >> Linux の 問題 >  >> Linux

TTL値とpingコマンドを使用してオペレーティングシステムを識別する方法

pingを実行するだけで、リモートシステムで実行されているオペレーティングシステムを特定できることをご存知ですか?はい!この簡単なガイドでは、 TTLを使用してオペレーティングシステムを決定する方法を説明します。 値とPing 指図。この方法は、Pingコマンドラインユーティリティを備えたすべてのオペレーティングシステムで機能するはずです。

リモートシステムのOSを見つけるためのコマンド、アプリケーション、ユーティリティはたくさんあります。ただし、TTLを使用してオペレーティングシステムの種類を見つけるのは非常に簡単です!

pingの出力からTTL値を確認することで、システムがLinux、Windows、またはその他のOSで実行されているかどうかをすばやく検出できます。 指図。リモートシステムのOSを検出するために追加のアプリケーションは必要ありません。

TTL値は、オペレーティングシステムとデバイスのバージョンによって異なります。

Linux / Unixのデフォルトの初期TTL値 64です 、および WindowsのTTL値 128です 。

Linux、FreeBSD、Mac OS、Solaris、Windowsなどの一般的なオペレーティングシステムのデフォルトの初期TTL値は次のとおりです。

最後に、さまざまなオペレーティングシステムとデバイスのTTL値の完全なリストを表示できます。

TTL値でリモートホストのオペレーティングシステムを検出する

TTLは、存続時間の略です は、TCP / IPベースのネットワークを介して送信されるパケットに含まれるタイマー値であり、パケットまたはデータを期限切れにして破棄する前に、パケットまたはその含まれるデータのいずれかを保持または使用する期間を受信者に通知します。

また、Pingコマンドは、ローカルエリアネットワークまたはワイドエリアネットワーク上のシステムまたはデバイスの接続性と到達可能性を確認するために使用されます。 Pingコマンドは、ほとんどのオペレーティングシステムにプリインストールされています。

Linux / WindowsホストのTTL値を表示するには、ホスト自体またはネットワーク上の他のシステムからホストにpingを実行するだけです。

例:

$ ping -c5 localhost

Fedoraデスクトップからの出力例:

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

ご覧のとおり、私は 64を取得します 上記の出力のTTL値として。 Linuxシステムだからです。

Windowsホストはどうですか? Windowsシステムにpingを実行すると何が得られるか見てみましょう。

FedoraデスクトップからWindows10デスクトップにpingを実行します。 MyWindows10のIPアドレスは192.168.122.239です。 。

$ ping -c5 192.168.122.239

出力例:

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

TTL値に注意してください。 128です。WindowsOSのデフォルトのTTL値は128です。

初期TTL値

次の表は、さまざまなオペレーティングシステムとデバイスのデフォルトの初期TTL値を示しています。

デバイス/OS バージョン プロトコル TTL
AIX TCP 60
AIX UDP 30
Android 3.2.1 TCPとICMP 64
Android 5.1.1 TCPとICMP 64
AIX 3.2、4.1 ICMP 255
BSDI BSD /OS3.1および4.0 ICMP 255
コンパ Tru64 v5.0 ICMP 64
シスコ ICMP 254
DECパスワークス V5 TCPとUDP 30
ファウンドリ ICMP 64
FreeBSD 2.1R TCPとUDP 64
FreeBSD 3.4、4.0 ICMP 255
FreeBSD 5 ICMP 64
HP-UX 9.0x TCPとUDP 30
HP-UX 10.01 TCPとUDP 64
HP-UX 10.2 ICMP 255
HP-UX 11 ICMP 255
HP-UX 11 TCP 64
Irix 5.3 TCPとUDP 60
Irix 6.x TCPとUDP 60
Irix 6.5.3、6.5.8 ICMP 255
ジュニパー ICMP 64
MPE / IX(HP) ICMP 200
Linux 2.0.xカーネル ICMP 64
Linux 2.2.14カーネル ICMP 255
Linux 2.4カーネル ICMP 255
Linux Red Hat 9 ICMPとTCP 64
MacOS / MacTCP 2.0.x TCPとUDP 60
MacOS / MacTCP X(10.5.6) ICMP / TCP / UDP 64
NetBSD ICMP 255
Netgear FVG318 ICMPとUDP 64
OpenBSD 2.6&2.7 ICMP 255
OpenVMS 2002年1月7日 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とUDP 30
Stratus TCP_OS(14.3+) TCPとUDP 64
Stratus STCP ICMP / TCP / UDP 60
SunOS 4.1.3 / 4.1.4 TCPとUDP 60
SunOS 5.7 ICMPとTCP 255
Ultrix V4.1 / V4.2A TCP 60
Ultrix V4.1 / V4.2A UDP 30
Ultrix V4.2 – 4.5 ICMP 255
VMS/マルチネット TCPとUDP 64
VMS / TCPware TCP 60
VMS / TCPware UDP 64
VMS/ウロンゴン 1.1.1.1 TCP 128
VMS/ウロンゴン 1.1.1.1 UDP 30
VMS / UCX TCPとUDP 128
ウィンドウ ワークグループの場合 TCPとUDP 32
ウィンドウ 95 TCPとUDP 32
ウィンドウ 98 ICMP 32
ウィンドウ 98、98 SE ICMP 128
ウィンドウ 98 TCP 128
ウィンドウ NT 3.51 TCPとUDP 32
ウィンドウ NT 4.0 TCPとUDP 128
ウィンドウ NT 4.0 SP5- 32
ウィンドウ NT 4.0 SP6 + 128
ウィンドウ NT 4 WRKS SP 3、SP 6a ICMP 128
ウィンドウ NT4サーバーSP4 ICMP 128
ウィンドウ ME ICMP 128
ウィンドウ 2000プロ ICMP / TCP / UDP 128
ウィンドウ 2000ファミリー ICMP 128
ウィンドウ Server 2003 128
ウィンドウ XP ICMP / TCP / UDP 128
ウィンドウ ビスタ ICMP / TCP / UDP 128
ウィンドウ 7 ICMP / TCP / UDP 128
ウィンドウ Server 2008 ICMP / TCP / UDP 128
ウィンドウ 10 ICMP / TCP / UDP 128

この方法は常に正確であるとは限りません。ただし、リモートシステムの基盤となるオペレーティングシステムのアイデアが得られます。 remteシステムのIPアドレスしかわからない場合は、Pingコマンドを使用してOSの名前を取得できます。

  • 参照リンク

関連記事:

  • Gpingを使用してPingコマンド出力をグラフ形式で表示する
  • LinuxでのPingコマンド出力を使用したタイムスタンプの印刷
  • Linuxで一度に複数のホストにpingを実行する方法
  • きれいにする–Pingコマンドの出力をより美しく読みやすくする
  • 複数のサーバーにpingを実行し、出力をトップのようなテキストUIに表示する

Linux
  1. timedatectlコマンドを使用してRHEL7Linuxシステムの日時を変更する

  2. Linuxでtarコマンドを使用してファイルを圧縮および抽出する方法は?

  3. CPAN コマンドを使用して Perl モジュールを手動でインストールする方法

  1. シェル文字と変数を使用して作業ディレクトリを識別する方法

  2. LinuxでPingコマンドをインストールして使用する方法

  3. 例を使用して Linux のシャットダウンおよび再起動コマンドを使用する方法

  1. MTR コマンドの例を使用して Linux で Ping と Traceroute を組み合わせる方法

  2. diff および apply コマンドを使用して GIT でパッチを作成および適用する方法

  3. MSBuild で現在のオペレーティング システムを取得する方法は?