Windows
隔離應用程序並檢查它通過 Internet 發送的數據包
我不確定這種問題在這裡是否合適,如果我錯了,請原諒我。
這裡有一個問題:我想看看一個特定的程序正在向網際網路發送什麼,但問題是電腦上有很多正在使用網際網路的應用程序和服務。所以不可能弄清楚我感興趣的應用程序發送了哪些數據包。
一種方法是嘗試關閉所有其他應用程序,但這是不可能的。
那麼有沒有辦法隔離特定的應用程序?我正在使用 windows7 並使用wireshark 擷取數據包
鑑於您使用的是 Wireshark,您的埠號不會自動解析為應用程序名稱,因此您需要做更多的工作來優化您要查找的資訊。每個使用 TCP/IP 通過網路進行通信的應用程序都將使用埠,以便網路堆棧知道將段傳遞到哪裡(我喜歡將其稱為應用程序地址)。
連接到特定埠上的伺服器應用程序的客戶端將從動態範圍內動態分配一個埠號。因此,您首先需要找出您的應用程序打開了哪些 TCP/UDP 連接:
netstat -b
在命令行將為您提供一個連接列表,其中包含創建連接的執行檔的名稱。每個執行檔都有一個或多個連接,列為 127.0.0.1:xxxxx,其中 X 是連接的本地埠號。
現在在 Wireshark 中,您需要使用以下一個或多個過濾器告訴它顯示源自或發往該埠的數據包:
tcp.port == xxxxx
或者udp.port == xxxxx
or tcp.port == xxxxx
為您要顯示的每個連接添加一個附加項。這將允許您查看應用程序已打開的連接的所有流量,並且 Wireshark 將不僅包括原始 TCP/UDP 段,而且還將包括使用這些埠號的各種應用程序層協議(例如 HTTP)。
如果您的應用程序似乎只與一台伺服器通信,您可以使用該伺服器的 IP 地址進行過濾:
ip.addr == x.x.x.x