

Windows 內建封包側錄工具 - Pktmon
source link: https://blog.darkthread.net/blog/pktmon/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Windows 內建封包側錄工具 - Pktmon
2021-09-11 08:40 PM 1 1,176遇到棘手網路茶包,抓封包分析是最直覺有效的手段,要監看網站傳輸我主要是用 Fiddler,至於更底層的 TCP 網路活動,早期我是用 Microsoft Network Monitor,後來 MNM 停止開發,原本計劃由 Microsoft Message Analyzer 接棒,不料 Message Analyzer 在 2019 年遭到棄坑,如今已無處可尋(反倒 MNM 3.4 版還留有下載遺址),官方部落格建議大家改用開源跨平台軟體 - Wireshark,而 Wireshark 的確也是目前我抓 TCP/IP 封包最主要的工具。
然後,遇到狀況想抓封包驗證猜測,未必能用動用 Wireshark,一則下載安裝得耗工夫花時間,二來並非每個環境都能隨意安裝軟體,原本看個封包答案立見分曉,少了工具只能乾瞪眼,想辦法旁敲側擊找線索,浪費不少時間。
最近發現 Windows 推出一個鮮為人知的新工具,未來查網路問題不必再為沒工具抓封包發愁。Windows 10 跟 Windows Server 2019 (1809 版)起,內建了一個命令列封包監聽工具 - Pktmon,可設定簡單條件側錄封包,結果可以轉為文字檔或 MNM/Wireshark 的資料格式,改用慣用軟體做進一步篩選及進階分析。
MS Docs 有 Pktmon 指今參數的完整說明,大家請自行參考,這裡直接用實例展示如何使用 Pktmon 側錄封包並進行分析。
簡單說明用到的指令:(註:記得以管理者權限開啟)
- pktmon comp list
列舉主機上的網路元件(網路卡介面),擷取封包時指定網卡識別碼資料較乾淨 - pktmon filter add -t tcp -p 21
設定過濾條件,本例指定 TCP、Port 21,另外還有 -i xxx.xxx.xxx.xxx 可限定 IP。設定完可用 pktmon filter list 查詢確認 - pktmon start -c --pkt-size 0 --comp 180
啟動封包擷取,--pkt-size 0 記錄完整封包內容(否則預設只取前 128 Bytes),--comp 180 指定 vEthernet (WiFi-Switch) 網卡 - curl "ftp://ftp.ntu.edu.tw"
借用 curl 工具登入台大 FTP 主機,產生一些 TCP 21 Port 傳輸封包 - pktmon stop
停止擷取,擷取內容預設寫入 PktMon.etl 檔案(start 時可透過 -f 指定不同檔名) - pktmon etl2txt pktmon.etl
將 PktMon.etl 的擷取內容轉為文字檔,預設檔名為 PktMon.txt - pktmon pcapng pktmon.etl 將 PktMon.etl 的擷取內容轉為 pcapng 檔(預設檔名 PktMon.pcapng)以便使用 Wireshark 檢視內容
執行結果如下:
文字檔內容有點龐雜不易閱讀,只能看個大概:
要深入分析,一般轉成 pcapng 檔用 Wireshark 開啟,如下圖,整個傳輪過程一目膫解:
有了 Pktmon,在新版 Windows 射網路茶包,免裝軟體也能抓封包,未來偵察網路問題再添一項利器。
【延伸閱讀】
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK