Windows 平臺如何抓包
阿新 • • 發佈:2019-01-06
Abstract
這篇文章會描述如何在windows平臺下不安裝任何第三方依賴庫來進行網路的抓包和分析.
抓包
這裡我們會使用windows自帶的netsh 來進行抓包. netsh本身包含了很多網路配置相關的功能.這裡主要使用netsh trace.
該工具與tcpdump相比的主要優點是(1)不依賴第三方庫,(2)無需安裝別的什麼軟體.
缺點就是(1)不支援埠過濾. (2) 參考資料很少. (3) 可能少數老舊作業系統沒有.
主要分為兩步:
1.啟動一個抓包session
netsh trace start [OTHER OPTIONS]
2.停止一個抓包session. (該命令同一時刻只能有一個session)
netsh trace stop
Example:
1.抓取某個地址11.11.11.11的snmp訊息 (snmp 採用的是udp協議):
netsh trace start capture=yes traceFile="c:\\snmp.etl" overwrite=yes correlation=no protocol=udp ipv4.address=11.11.11.11
這樣的輸出就代表成功了, 生成的檔案在c:\snmp.etl.
Trace configuration:
-------------------------------------------------------------------
Status: Running
Trace File: C:\snmp.etl
Append: Off
Circular: On
Max Size: 250 MB
Report: Off
注意:檔案必須為etl結尾.
這個檔案會以很快的速度增長,這裡設定的是最大250MB, 迴圈寫snmp.etl.
這裡的協議可以是tcp/udp/icmp等.
2.停止抓包
netsh trace stop
輸出:
Merging traces ... done
Generating data collection ... done
The trace file and additional troubleshooting information have been compiled as "c:\snmp.cab".
File location = c:\snmp.etl
Tracing session was successfully stopped.
分析抓包結果
前面我們獲取了抓包的檔案snmp.etl,這裡我們展示如何來分析該檔案.
大體步驟:用windows message analyzer開啟 -> 等待載入完成 -> 轉換為cap檔案 -> 使用wireshark分析.
這裡需要用到的軟體是windows message analyzer. 從這裡下載
安裝後的樣子:
開啟snmp.etl後. 等待左下角的狀態變為Ready:
然後,到處為cap檔案: File -> Save As -> Export
遇到右圖的錯誤忽略就好.
這個生成的檔案snmp.cap 就可以被wireshark分析了.