使用 pktcap-uw 实用程序可在数据包遍历 ESXi 主机上的网络堆栈时检查数据包的内容。

用于捕获数据包的 pktcap-uw 语法

pktcap-uw 命令使用以下语法捕获网络堆栈中某个位置的数据包:

        pktcap-uw
        switch_port_arguments
        capture_point_options
        filter_options
        output_control_options
      
注: pktcap-uw 实用程序的某些选项仅供 VMware 内部使用,您只有在 VMware 技术支持部门的督导下才能使用这些选项。《 《vSphere 网络连接》》指南中并未介绍这些选项。
表 1. 用于捕获数据包的 pktcap-uw 参数
参数组 参数 描述
switch_port_arguments --uplink vmnicX

捕获与物理适配器相关的数据包。

您可以组合使用 --uplink--capture 选项来监控物理适配器与虚拟交换机之间路径中的某个位置的数据包。

请参见捕获到达物理适配器的数据包

--vmk vmkX

捕获与 VMKernel 适配器相关的数据包。

您可以组合使用 vmk--capture 选项来监控 VMkernel 适配器与虚拟交换机之间路径中的某个位置的数据包。

请参见如何捕获 VMkernel 适配器的数据包

--switchport {vmxnet3_port_ID | vmkernel_adapter_port_ID}

捕获与 VMXNET3 虚拟机适配器相关或与连接到特定虚拟交换机端口的 VMkernel 适配器相关的数据包。您可以在 esxtop 实用程序的网络面板中查看端口的 ID。

您可以组合使用 switchportcapture 选项来监控 VMXNET3 适配器或 VMkernel 适配器与虚拟交换机之间路径中的某个位置的数据包。

请参见如何为 VMXNET3 虚拟机适配器捕获数据包

--lifID lif_ID

捕获与分布式路由器的逻辑接口相关的数据包。请参见 VMware NSX 文档。

capture_point_options --capture capture_point 捕获网络堆栈中特定位置的数据包。例如,可以在接收到来自物理适配器的数据包之后立即对其进行监控。
--dir {0|1|2}

根据流量相对于虚拟交换机的方向捕获数据包。

0 代表入站流量,1 代表出站流量,2 代表双向流量。

默认情况下,pktcap-uw 实用程序捕获输入的流量。

使用 --dir 选项连同 --uplink--vmk--switchport 选项。

--stage {0|1}

捕获更靠近其源或目标的数据包。使用此信息可检查数据包在遍历堆栈中各个点时的变化情况。

0 表示更靠近源的流量,1 表示更靠近目标的流量。

使用 --stage 选项连同 --uplink--vmk--switchport--dvfilter 选项。

--dvfilter filter_name --capture PreDVFilter|PostDVFilter 在 vSphere Network Appliance (DVFilter) 拦截数据包之前或之后对其进行捕获。请参见如何在 DVFilter 级别捕获数据包
-A | --availpoints 查看 pktcap-uw 实用程序支持的所有捕获点。

有关 pktcap-uw 实用程序的捕获点的详细信息,请参见pktcap-uw 实用程序的捕获点

filter_options 根据源或目标的地址、VLAN ID、VXLAN ID、第 3 层协议和 TCP 端口筛选捕获的数据包。请参见用于筛选数据包的 pktcap-uw 选项
output_control_options 将数据包的内容保存到文件、仅捕获一定数量的数据包、捕获数据包开头一定数量的字节等等。请参见用于输出控制的 pktcap-uw 选项

竖线 | 代表替换值,与竖线一起使用的大括号 {} 用于指定参数或选项的选择列表。