因爲工作的原因,公司老闆讓我與遊戲公司技術部聯繫,做一些技術上的合作。然後我們聯繫了一些IDC商,我給他們技術提供了一個雙線服務器,發給他兩個ip地址,讓他測試一下速度怎麼樣,只是給他提供IP地址,沒有給他權限。過了一會,他給我說,這兩個ip不是同一臺機子,一個是LINUX系統,一個windows系統。我當時一聽,暈了,他是怎麼知道的呢。說實話,以前我很少接觸LINUX系統,更不知道如何能判別出來不是一個臺服務器呢。沒辦法,自己不懂,只有上網搜索了,他是如何判別服務器的操作系統類型的呢?
搜索結果如下:
使用ping命令進行掃描是最常用的方法。
根據ICMP報文的TTL的值,就可以大概知道主機的類型。
TTL 字段值可以幫助我們識別操作系統類型。
UNIX 及類 UNIX 操作系統 ICMP 回顯應答的 TTL 字段值爲 255
Compaq Tru64 5.0 ICMP 回顯應答的 TTL 字段值爲 64
微軟 Windows NT/2K操作系統 ICMP 回顯應答的 TTL 字段值爲 128
微軟 Windows 95 操作系統 ICMP 回顯應答的 TTL 字段值爲 32
當然,返回的TTL值是相同的
但有些情況下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回顯應答的 TTL 字段值爲 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回顯應答的 TTL 字段值爲 255
Windows 95/98/98SE
Windows ME
ICMP 回顯應答的 TTL 字段值爲 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
Windows XP
ICMP 回顯應答的 TTL 字段值爲 128
這樣,我們就可以通過這種方法來辨別操作系統
就這樣慢慢學習吧,既然選擇了這樣的工作,就只能努力做好了。