使用 pktcap-uw 实用程序可监控 VMkernel 适配器与虚拟交换机之间交换的数据包。

您可以捕获虚拟交换机与 VMkernel 适配器之间流量中的某个捕获点的数据包。还可以根据相对于交换机的流量方向以及与数据包源位置或目标位置的邻近程度来确定捕获点。有关支持的捕获点的信息,请参见pktcap-uw 实用程序的捕获点

过程

  1. (可选) 在 VMkernel 适配器列表中查找要监控的 VMkernel 适配器的名称。
    • 在 vSphere Web Client 中,在主机的配置选项卡上展开网络,然后选择 VMkernel 适配器
    • 在主机的 ESXi Shell 中,要查看物理适配器列表,运行以下控制台命令:
      esxcli network ip interface list
      
    每个 VMkernel 适配器以 vmkX 的形式表示,其中 XESXi 分配给适配器的序号。
  2. 在主机的 ESXi Shell 中,运行带有 --vmk vmkX 参数和相应选项的 pktcap-uw 命令,监控特定点的数据包,筛选捕获的数据包并将结果保存到文件。
    pktcap-uw --vmk vmkX [--capture capture_point|--dir 0|1 --stage 0|1]  [filter_options] [--outfile pcap_file_path [--ng]] [--count number_of_packets]

    其中方括号 [] 中所括的是 pktcap-uw --vmk vmkX 命令的选项,竖线 | 表示替代值。

    您可以将 --vmk vmkX 选项替换为 --switchport vmkernel_adapter_port_ID,其中 vmkernel_adapter_port_IDesxtop 实用程序的网络面板中显示的该适配器的 PORT-ID 值。

    如果运行不带选项的 pktcap-uw --vmk vmkX 命令,您将获得离开 VMkernel 适配器的数据包的内容。

    1. 要检查特定位置和方向上传输或接收的数据包,请使用 --capture选项,或者组合使用 --dir--stage 选项的值。
      pktcap-uw 命令选项 目标
      --dir1 --stage 0 在数据包离开虚拟交换机后立即对其进行监控。
      --dir1 在数据包进入 VMkernel 适配器前一刻对其进行监控。
      --dir0 --stage 1 在数据包进入虚拟交换机前一刻对其进行监控。
    2. 使用 filter_options 可根据源和目标地址、VLAN ID、VXLAN ID、第 3 层协议和 TCP 端口筛选数据包。
      例如,要监控来自 IP 地址为 192.168.25.113 的源系统的数据包,请使用 --srcip 192.168.25.113 筛选选项。
    3. 使用相应选项可将每个数据包的内容或部分数据包的内容保存到 .pcap.pcapng 文件中。
      • 要将数据包保存到 .pcap 文件中,请使用 --outfile 选项。
      • 要将数据包保存到 .pcapng 文件中,请使用 --ng--outfile 选项。

      可以在 Wireshark 等网络分析器工具中打开该文件。

      默认情况下,pktcap-uw 实用程序会将数据包文件保存到 ESXi 文件系统的根文件夹。

    4. 使用 --count 选项可监控一定数量的数据包。
  3. 如果未使用 --count 选项限制数据包的数量,请按 Ctrl+C 停止捕获或跟踪数据包。

下一步做什么

如果已将数据包的内容保存到某个文件中,请将该文件从 ESXi 主机复制到运行图形分析器工具(如 Wireshark)的系统上,然后在该工具中将其打开以检查数据包详细信息。