因各家作業系統在網路層的實作不同,因為可以透過網路工具來了解遠端主機所使用的作業系統種類,甚至是版本編號。
以ICMP回應封包裡TTL欄位值為例
ping windows作業系統時,回應的TTL欄位值可能小於或等於128
ping linux作業系統時,回應的TTL欄位值可能小於或等於64
不過僅依靠ICMP封包的TTL欄位來判所是不夠精確。

當然並不是只有TTL能夠辯識OS,下面是常用的方法
1)checking services on well known / standard ports(檢查常用的Port)
2)IP-Stack fingerprinting (TTL, RTT ....)(檢查IP-Stack)
3)many things more, depending on the program u use to(檢查程式)

而常用的工具如nmap或P0f
nmap屬主動式偵測,透過傳送特別打造的TCP,UPD或ICMP封包,不同的OS會回應不同的封包而得知遠端主機的OS。
P0f屬被動式偵測,不發送特別封包,而是監看流進與流出的TCP,UPD或ICMP封包來判斷遠端主機的OS。

jck11 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • bigcookie
  • sniffer應該也可以用來偵測吧
  • 應該也是可以的,因為sniffer也是抓下封包,抓下來後當然就可以分析囉。

    jck11 於 2007/08/21 10:53 回覆