p0f采用被動的方式方法探測目標主機的操作系統類型。
這個工具可以識別以下幾種機器:
~~~
鏈接到你主機的機器 (SYN,默認模式)
你的主機可訪問的機器 (SYN+ACK模式)
你的主機不能訪問的機器 (RST模式)
你可以監控到其網絡通信的機器
~~~
這個程序通過自身發出的TCP包分析操作系統類型。
通過ping數據包和TTL的長度判斷windows和linux。
**p0f的命令參數很簡單,基本說明如下:**
~~~
-f fname 指定指紋數據庫 (p0f.fp) 路徑,不指定則使用默認數據庫。
-i iface 指定監聽的網卡。
-L 監聽所有可用網絡。
-r fname 讀取由抓包工具抓到的網絡數據包文件。
-o fname 附加之前監聽的log文件,
只有同一網卡的log文件才可以附加合并到本次監聽中來。
-d 以后臺進程方式運行p0f ;
-u user 以指定用戶身份運行程序,
工作目錄會切換到到當前用戶根目錄下;
-p 設置 –i參數指定的網卡為混雜模式;
-S num 設置API并發數,默認為20,上限為100;
-m c,h 設置最大網絡連接數和同時追蹤的主機數
(默認值: c = 1,000, h = 10,000).
-t c,h 設置連接超時時間
~~~
實際運用:
`p0f -i eth0 -p`
然后,再與要探測的機器建立TCP鏈接,即可猜測目標主機操作系統了。