使用 pktcap-uw 实用程序可跟踪数据包遍历网络堆栈时的路径,以进行延迟时间分析和定位数据包损坏或被丢弃时所在的点。

pktcap-uw 实用程序会显示数据包的路径连同时间戳,时间戳记录了 ESXi 上的网络连接功能处理数据包的时间。该实用程序将在堆栈释放数据包前一刻报告数据包的路径。

要查看数据包的完整路径信息,必须将 pktcap-uw 实用程序的结果打印到控制台输出内容中,或将结果保存到 PCAPNG 文件。

过程

  1. 在主机的 ESXi Shell 中,运行带有相应选项的 pktcap-uw --trace 命令,可筛选跟踪的数据包、将结果保存到文件以及限制跟踪的数据包的数量。
    pktcap-uw --trace [filter_options] [--outfile pcap_file_path [--ng]] [--count number_of_packets]

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

    1. 使用 filter_options 可根据源和目标地址、VLAN ID、VXLAN ID、第 3 层协议和 TCP 端口筛选数据包。
      例如,要监控来自 IP 地址为 192.168.25.113 的源系统的数据包,请使用 --srcip 192.168.25.113 筛选选项。
    2. 使用相应选项可将每个数据包的内容或部分数据包的内容保存到 .pcap.pcapng 文件中。
      • 要将数据包保存到 .pcap 文件中,请使用 --outfile 选项。
      • 要将数据包保存到 .pcapng 文件中,请使用 --ng--outfile 选项。

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

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

      注: .pcap 文件仅包含跟踪的数据包的内容。要收集除数据包内容以外的数据包路径,请将输出内容保存到 .pcapng 文件。
    3. 使用 --count 选项可监控一定数量的数据包。
  2. 如果未使用 --count 选项限制数据包的数量,请按 Ctrl+C 停止捕获或跟踪数据包。

下一步做什么

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