先日、IT Proさんで以下のような記事が公開されていた。
内容としては、OSを確認したいホストにPingを打ち、その応答から対象ホストのOSが何なのかをある程度推測出来るというもの。
そんな事ができるのか…
実際に、自宅にあるサーバに対してPingを打って見ることにした。
今現在で使用できるOSは以下。
- Mac OS X Mountain Lion
- CentOS 6.5
- Ubuntu 14.10
- Debian Linux 7.2
- Solaris 11
- HP-UX 11i v3
- VMware ESXi 5.5
- Windows XP
- Windows 7
これらのOSに対して、実際にPingを打ってみる。
PingはWindows 7から対象の機器に設定しているIPアドレスに対して打つ。実際に稼働している機器なので、IPアドレスはモザイクを入れておくことにした。
1.Mac OS X Mountain Lion
まずはMac OSから。
TTLの値は「64」。
2.CentOS 6.5
次はCentOS。Redhat Enterprise Linuxのクローンなので、こちらも同様の値であろう。
TTLの値は「64」。
3.Ubuntu 14.10
Ubuntu 14.10での値。
TTLの値は「64」。まぁ、同じLinuxだしね。
4.Debian Linux 7.2
次はDebian。Ubuntuの元になっているディストリビューションだし、Linuxなので上の2つと変わらないと思われるが…
TTLの値は「64」。
5.Solaris 11
次はSolaris 11。業務では使った事は無いが、商用UNIXでは一番元気なOSだと思うので、個人的にインストールして放置していたやつだ。 さて、こいつのTTLは…
TTLの値は「255」。確かにLinuxやMacとは違う値が表示されている。
6.HP-UX 11i v3
次はHP-UX 11i v3。最近仕事で使っているOSなので、ちょうど環境があって良かった…。
こちらの値も同じく「255」。
7.VMware ESXi 5.5
次はVMware ESXi 5.5に対してPingを打ってみる。
TTLの値は「64」。ESXiの前に使われていたESXがLinuxベースだからかな?
8.Windows XP
もはやサポートも切れたWindows XP。10年近くお世話になったOSだが、さてさて…
TTLの値は「128」。
9.Windows 7
最後はWindows 7。
こちらも同様に「128」。
上記9個のOSに対してPingを打ってみた。確かに、TTLの値からOSの種類をある程度読み取る事ができた。
セキュリティの事を考えたら、一応TTLの値を変更した方がいいのかな?
その他のOSについては、こちらのページに一覧でまとめてある。