首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

虛擬機 Linux Socket 通訊 Wireshark 抓不到封包的原因

     編輯:程式設計綜合問答

現象

兩台 VM(同一宿主機)運行 Socket Server/Client 通訊正常,但宿主機 Wireshark 抓不到兩 VM 間流量。

原因解析

VM 間若使用「虛擬網路」或「僅主機模式」,流量經由宿主機虛擬交換器在記憶體中轉發,不經實體網卡。Wireshark 預設僅捕獲實體介面封包,虛擬介面流量需額外設定。

解決方法

  1. 在 VM 內部抓包:直接在 Client/Server 所在 VM 安裝 Wireshark/tcpdump 抓取 lo 或虛擬網卡介面。
  2. 宿主機捕獲虛擬介面:Wireshark 介面列表選擇 VMware Network Adapter VMnetX 或 VirtualBox Host-Only Network 等虛擬網卡。
  3. 使用橋接模式:VM 直接連接實體網路,流量經實體網卡,宿主機即可抓取(需開啟混雜模式)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved