題:
使用Wireshark嗅探特定進程的TCP流量
Mellowcandle
2013-05-01 00:44:25 UTC
view on stackexchange narkive permalink

是否可以使用Wireshark嗅探特定進程的TCP通信,甚至可以通過插件根據進程ID過濾TCP通信?

我正在Windows 7上工作,但是我想也了解Linux解決方案。

strace,請參閱[AskUbuntu上的此答案](http://askubuntu.com/a/12465/11316),如果您的問題僅限於WireShark,我認為沒有。在Windows上,您可以使用網絡監視器,它是MS自己創建的嗅探器。另外,還有一個針對Windows的實驗性構建,[請參見此郵件列表條目](http://www.wireshark.org/lists/wireshark-dev/201212/msg00069.html)。
Wireshark在網絡接口級別上工作,它不知道哪個進程發送了數據包。
@IgorSkochinsky:是KM驅動程序開發人員,我可以告訴您,至少可以提供該信息。但是,`libpcap`不僅具有Windows實現,而且我認為此限制可能歸因於該庫的跨平台性質。
五 答案:
TDKPS
2013-05-03 05:06:28 UTC
view on stackexchange narkive permalink
您可能正在尋找來自DigitalOperatives的

網絡流量(PAINT)/ Wireshark中的進程歸因。它基於Wireshark 1.6.5,並且適用於Windows Vista和更高版本。 它已於2012年12月發布給公眾用於研究目的,從那時起我一直在使用它。不僅有效-您可以通過各列過濾流量-而且速度非常快。

博客文章 網絡流量中的處理歸因 開發人員會詳細解釋。

Screenshot, taken from the blog post linked above

糟糕,我的糟糕。以為我已經添加了它。 [鏈接](http://www.digitaloperatives.com/paint/index.html)似乎我不能添加兩個以上的鏈接。
好吧,為您修復該問題。希望這樣很好。
第二個鏈接壞了
Mick
2013-05-01 01:11:12 UTC
view on stackexchange narkive permalink

好吧,如果您不想使用Wireshark,則可以使用 Microsoft Network Monitor開箱即用。

還有一個更好的消息是: Windows 7(或Win2008 R2)及更高版本,您可以從命令行開始/停止捕獲而無需安裝任何內容(甚至可以遠程進行)。

此MSDN博客文章介紹了整個過程(

enter image description here

簡短版本:

  1. 打開提升的命令提示符並運行: “ netsh跟踪開始持續=是捕獲=是tracefile = c:\ temp \ nettrace-boot.etl”(確保您具有\ temp目錄或選擇其他位置)。
  2. 重現問題或執行
  3. 打開提升權限的命令提示符並運行:“ netsh trace stop”,您的跟踪記錄將存儲在c:\ temp \ nettrace-boot.el或任何地方。您保存了它。您可以使用netmon在另一台計算機上查看跟踪。
  4. ol>
TGP1994
2017-12-01 15:19:29 UTC
view on stackexchange narkive permalink

到2018年為止,Wireshark的另一種建議是,由Microsoft開發的,已取代 Microsoft Network Monitor 的當前解決方案是 Microsoft Message Analyzer

本文發佈時,最新版本的1.4版已於 2016年10月28日發布,而 Message Analyzer TechNet博客在經過常規修訂後,截至2016年9月一直變得神秘無聲。在此之前發布信息。

Microsoft Messenger Analyzer下載頁面的鏈接不再存在。因此,這是32位和64位版本的手動下載鏈接.32位:https://download.microsoft.com/download/2/8/3/283DE38A-5164-49DB-9883- 9D1CC432174D / MessageAnalyzer.msi64位:https://download.microsoft.com/download/2/8/3/283DE38A-5164-49DB-9883-9D1CC432174D/MessageAnalyzer64.msiv1.4中的已知問題:https:// download .microsoft.com / download / 2/8/3 / 283DE38A-5164-49DB-9883-9D1CC432174D / Microsoft%20Message%20Analyzer%20v1.4%20Known%20Issues.docx
@dsasmblr您能否更具體地說明哪些鏈接不起作用?我發布的內容仍在工作。
嗯您擁有的第一個鏈接最初並不起作用(不過現在是)。即使當我用Google搜索應用程序名稱並嘗試單擊搜索結果中的鏈接時,它也帶我進入了404頁。 MS可能當時正在更新某些內容。我從頁面的緩存版本中獲取了下載鏈接。
我認為您對MS更新某些內容可能是正確的;我記得昨天晚上在下載站點中看到一個奇怪的錯誤,但是當我刷新時它消失了。
marcobazzani
2020-04-06 00:50:49 UTC
view on stackexchange narkive permalink

在Mac上

  sudo unbuffer tshark -lni utun1 2> / dev / null | unbuffer -p grep TCP | tee / dev / tty | unbuffer -p awk -v ip =`ifconfig utun1 | grep inet | awk'{print $ 2}'`'{if($ 3 == ip){print $ 8} else {print $ 10}}'| unbuffer -p grep -owE “ [0-9] {1,5}” | xargs -I {} sh -c'G = $(echo {} | tr -d“ \ r”);須藤lsof -i TCP -OPn -o | grep $ G' 

使用 netstat -aptun for Linux更改 lsof -i TCP -OPn -o

Lekensteyn
2020-04-10 20:58:01 UTC
view on stackexchange narkive permalink

任意數據包通常不與進程關聯。對於已建立的TCP套接字,可以即時查找此信息,但是無法表達捕獲過濾器以將過濾限制為單個進程。

某些選項包括:

  • 如果您知道某個應用程序與某些IP地址或端口聯繫,則可以指定捕獲過濾器,例如 udp端口53 host example.com 代碼>。
  • 在虛擬機(VM)中運行程序,並從VM內部或從連接到VM外部的網橋捕獲流量。
  • 在Linux上,創建一個隔離的網絡名稱空間,並使用虛擬以太網(對)對將新的網絡名稱空間與主網絡名稱空間連接。從veth界面的任一端捕獲並在網絡名稱空間中啟動您的過程。

對於後一種方法,我編寫了一些腳本來使其自動化,可以在 https中找到它。 ://github.com/Lekensteyn/netns。正是為此目的而專門設計的,它可以從單個流程(及其子流程)創建網絡捕獲,而不會洩漏其他流量。

多種其他方法,例如使用eBPF和自定義解剖器來添加流程信息。因為可以在Wireshark問題跟踪器中的以下問題中找到針對Windows和macOS的潛在方法:



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...