Microsoft網絡監視器((Netmon)是用於窗口的經典網絡診斷工具,用於捕獲和分析計算機上的所有傳入和傳出流量。即使該產品已經開發或更新了3年以上,但管理員需要診斷網絡連接時經常使用它。 Netmon提供的功能少於流行的捕獲和分析工具Wireshark,並且在復雜的數據包分析任務方面的功能不佳。但是,Network Monitor的圖形接口更簡單,更直觀,產品本身很輕。因此,在某些情況下,其使用是合理的和實用的。
本文展示瞭如何使用網絡監視器實時捕獲和分析網絡流量並轉儲流量以進行以後分析。
我們的訂戶提出了本文的想法,他的訂戶收到了他的提供商的警告,該警告說他的Windows VPS服務器被用於大眾電子郵件郵件。由於郵件在不同的時間進行,因此無法實時跟踪哪個過程啟動SMTP會話。要找到來源,我們需要捕獲標準SMTP端口上的所有傳出流量25
,,,,587
, 和465
,並確定正在執行郵件的過程或腳本。
下載Microsoft網絡監視器3.4來自Microsoft網站的Installer(NM34_X64.EXE)或使用Winget軟件包管理器安裝它:
winget install Microsoft.NetMon
安裝完成後,將網絡監視器作為管理員運行。在Netmon窗口中,單擊新捕獲。
默認情況下,網絡監視器收集了通過計算機網絡接口的所有流量。如果您長期捕獲網絡流量,那麼這種網絡轉儲的大小可能會很大。在我們的情況下,我們可以將過濾器設置為僅在一個已知的SMTP端口之一上捕獲傳出網絡數據包。
單擊捕獲設置按鈕。在這裡,您可以配置過濾器,以描述網絡應捕獲的交通。有幾個用於典型任務的過濾模板負載過濾器- >標準過濾器菜單。在我們的情況下,我們需要一個TCP端口號過濾器。選擇TCP- >TCP端口。
以下模板代碼插入過濾器編輯器窗口:
tcp.port == 80 OR Payloadheader.LowerProtocol.port == 80
編輯模板規則並添加所有三個默認SMTP端口號:
(tcp.port == 25 OR Payloadheader.LowerProtocol.port == 25 OR
tcp.port == 587 OR Payloadheader.LowerProtocol.port == 587 OR
tcp.port == 465 OR Payloadheader.LowerProtocol.port == 465)
如果您的計算機具有多個網絡接口,或者是否有其他IP地址(別名)分配給適配器,則可以通過源IP地址添加過濾器:
AND
(IPv4.SourceAddress == 192.168.18.111)
網絡監視器過濾器可以使用括號和OR
/AND
/NOT
邏輯表達式,或者您可以使用||
,,,,&&
, 或者!
反而。
單擊申請按鈕保存過濾器。
然後去工具- >選項- >解析器概況。選擇視窗在默認解析器配置文件中(設置為活動)。
您現在準備開始捕獲網絡流量。單擊開始工具欄上的按鈕。
現在,您需要重現問題,或者如果它隨機發生,只需讓Netmon持續一天/週。
請注意,根據捕獲過濾器的設置,很長一段時間內傾倒網絡流量將需要大量的RAM和磁盤空間。
在我們的情況下,一段時間後,與所應用的過濾器相對應的事件出現在NetMon數據包日誌中。如果打開數據包的內容,您會發現嘗試了SMTP連接。在網絡框架內,您將看到SMTP協議的詳細命令,身份驗證嘗試,目標SMTP服務器的地址以及發送消息的電子郵件地址(telnet中SMTP命令的示例以通過身份驗證發送電子郵件)。
這過程名稱字段顯示啟動網絡(SMTP)連接的過程的名稱。在這種情況下,很明顯,SMTP郵件是從blat.exe
控制台工具。
網絡轉儲還包含有關我的信息powershell.exe
會議。這用於檢查外部服務器上端口25的可用性:
Test-NetConnection smtp.corpmail.com -port 25
單擊停止按鈕停止捕獲網絡流量。
由此產生的流量轉儲可以保存為*。帽申請離線分析。
您可以通過IP或MAC目標/源地址,不同協議,端口和特殊過濾器添加其他過濾器,以分析某些流行協議(SMB,HTTP,DNS)的流量。可以將過濾器應用於捕獲的流量或僅過濾當前會話中的顯示數據(顯示過濾器窗戶)。
例如,如果要過濾網絡幀,則可以單擊數據包列表中的任何值,然後選擇添加[某物]以顯示過濾器。
在屏幕截圖中,我通過目標IP地址添加了過濾規則。以下代碼已添加到過濾器提示中:
Destination == "ip_adress"
以下是常用網絡監視器過濾器的一些示例。
通過目標IP地址過濾:
IPv4.SourceAddress == 192.168.0.1
源或目的地IP過濾:
IPv4.Address == 192.168.0.1
通過TCP端口號過濾:
tcp.port == 443
OR
Payloadheader.LowerProtocol.port == 443
可以指定端口範圍:
(udp.Port>=10000 && udp.port<=19999)
在本文中,我們研究瞭如何使用Microsoft Network Monitor捕獲和分析Windows中的網絡流量。您也可以使用內置PktMon
Windows中的控制台命令要轉儲流量,而無需在每個計算機上安裝網絡監視器。可以在安裝Netmon或Wireshark的任何計算機上進一步分析使用此類命令行工具的轉儲。