使用 pktcap-uw 公用程式監控虛擬交換器和 VMXNET3 虛擬機器介面卡之間經過的流量。
您可以指定虛擬交換器和虛擬機器介面卡之間的資料路徑中的某個特定擷取點。您還可以依與交換器相關的流量方向和與封包來源或目的地的接近度來判定擷取點。如需受支援的擷取點的相關資訊,請參閱 pktcap-uw 公用程式的擷取點。
必要條件
確認虛擬機器介面卡的類型為 VMXNET3。
程序
- 在主機上,使用 esxtop 公用程式查看虛擬機器介面卡的連接埠識別碼。
- 在主機相對應的 ESXi Shell 中,若要啟動此公用程式,請執行 esxtop。
- 若要切換至公用程式的 [網路] 面板,請按 n。
- 在 [使用者] 欄中,找到虛擬機器介面卡,並寫下它的連接埠識別碼值。
[使用者] 欄位包含虛擬機器的名稱,以及虛擬機器介面卡連線到的連接埠。
- 按 Q 結束 esxtop。
- 在 ESXi Shell 中,執行
pktcap-uw --switchport port_ID
。
port_ID 是
esxtop 公用程式在 [連接埠識別碼] 欄為虛擬機器介面卡顯示的識別碼。
- 在 ESXi Shell 中,執行具有
--switchport port_ID
引數和選項的 pktcap-uw 命令,來監控特定點的封包、篩選擷取的封包並將結果儲存到檔案。
pktcap-uw --switchport port_ID [--capture capture_point|--dir 0|1 --stage 0|1] [filter_options] [--outfile pcap_file_path [--ng]] [--count number_of_packets]
其中方括弧 [] 會括住 pktcap-uw --switchport port_ID
命令的選項,分隔號 | 表示備用值。
如果執行沒有選項的 pktcap-uw --switchport port_ID
命令,您將在封包交換時,於主控台輸出中取得傳入標準交換器或分散式交換器的封包內容。
- 若要在客體作業系統和虛擬交換器之間路徑中的其他擷取點或方向檢查封包,請使用 --capture 選項或組合使用 --dir 和 --stage 選項的值。
pktcap-uw 命令選項 |
目標 |
--capture VnicTx |
在封包從虛擬機器傳遞到交換器時對其進行監控。 |
--capture VnicRx |
在封包到達虛擬機器時對其進行監控。 |
--dir 1 --stage 0 |
在封包離開虛擬交換器後立即進行監控。 |
--dir 1 |
在封包即將進入虛擬機器時進行監控。 |
--dir 0 --stage 1 |
在封包進入虛擬交換器後立即進行監控。 |
- 使用 filter_options,根據來源位址和目的地位址、VLAN 識別碼、VXLAN 識別碼、第 3 層通訊協定和 TCP 連接埠對封包進行篩選。
例如,若要監控來源系統 (其 IP 位址為 192.168.25.113) 中的封包,請使用
--srcip 192.168.25.113
篩選器選項。
- 使用這些選項將每個封包的內容或限制數量之封包的內容儲存到 .pcap 或 .pcapng 檔案中。
- 若要將封包儲存到 .pcap 檔案,請使用 --outfile 選項。
- 若要將封包儲存到 .pcapng 檔案,請使用 --ng 和 --outfile 選項。
可以透過網路分析器工具 (例如 Wireshark) 開啟檔案。
依預設,pktcap-uw 公用程式會將封包檔案儲存到 ESXi 檔案系統的根資料夾中。
- 使用 --count 選項將僅監控一些封包。
- 如果您尚未透過使用 --count 選項限制封包的數目,請按 Ctrl+C 來停止擷取或追蹤封包。
範例: 擷取從 IP 位址 192.168.25.113 到達虛擬機器的封包
對於指派了 IP 位址 192.168.25.113 的來源,若要擷取此來源中前 60 個到達連接埠識別碼為 33554481 的虛擬機器介面卡的封包,並將這些封包儲存到名為 vmxnet3_rcv_srcip.pcap 的檔案,請執行以下 pktcap-uw 命令:
pktcap-uw --switchport 33554481 --capture VnicRx --srcip 192.168.25.113 --outfile vmxnet3_rcv_srcip.pcap --count 60
下一步
如果封包內容已儲存至檔案,則將該檔案從 ESXi 主機複製到執行圖形分析器工具 (例如 Wireshark) 的系統,然後透過此工具開啟檔案,以檢查封包詳細資料。