使用p0f進行操作系統探測
p0f是一款被動探測工具,通過分析網絡數據包來判斷操作系統類型。目前最新版本為3.06b。同時p0f在網絡分析方面功能強大,可以用它來分析NAT、負載均衡、應用代理等。
p0f的命令參數很簡單,基本說明如下:
l? -f fname指定指紋數據庫 (p0f.fp) 路徑,不指定則使用默認數據庫。
l? -i iface?? 指定監聽的網卡。
l? -L ???????監聽所有可用網絡。
l? -r fname? 讀取由抓包工具抓到的網絡數據包文件。
l? -o fname? 附加之前監聽的log文件,只有同一網卡的log文件才可以附加合并到本次監聽中來。
l? -d?? 以后臺進程方式運行p0f ;
l? -u user?? 以指定用戶身份運行程序,工作目錄會切換到到當前用戶根目錄下;
l? -p ??????設置 –i參數指定的網卡為混雜模式;
l? -S num?? 設置API并發數,默認為20,上限為100;
l? -m c,h ???設置最大網絡連接數和同時追蹤的主機數 (默認值: c = 1,000, h = 10,000).
l? -t c,h???? 設置連接超時時間
下面使用如下命令進行測試:
p0f -i eth0 –p
上面命令的含義為監聽網卡eth0,并開啟混雜模式。這樣會監聽到每一個網絡連接,部分結果摘錄如下:
p0f監聽結果1
p0f監聽結果2
在p0f監聽結果2圖中,檢測的結果我windows7或8,對比下nmap的結果為windows7,實際該機器系統為 windows7 sp1。
nmap檢測結果
p0f監聽結果3
在p0f監聽結果3圖中,捕獲的數據是瀏覽器發送的請求數據,我們可以看到瀏覽器請求信息中“Windows NT 6.1; WOW64; Trident/7.0; rv:11.0”的字樣,從這段UserAgent中,可以看出發出請求的系統為windows7 64位,IE11。
使用miranda進行操作系統探測
miranda工具是一個通過UPNP功能來探測主機信息的工具,并不限于探測操作系統。下面我們通過一個實例,演示如何使用miranda。
在終端輸入如下命令:
miranda -v -i eth0
上面的命令是指定打開網卡eth0,返回結果如下:
miranda提示輸入開啟upnp的主機,現在我們不知道哪臺主機開啟了upnp,輸入命令“msearch”,會自動搜索upnp主機,
接著我們會看到掃描到的upnp主機:
按 CTRL +C終止掃描,輸入host list。
可以看到搜集的主機列表,然后使用host get [index]命令可以查看該主機的upnp設備列表。
使用host info [index]查看主機詳細信息。
從上圖信息可以看到,這是一臺TP-Link路由器。同樣的方法,查看一臺windows 7主機。