了解如何使用 PacketCapture 实用程序诊断网络连接问题,例如连接速度缓慢、数据包丢失和连接问题

PacketCapture 是一个轻量级 tcpdump 实用程序,它仅捕获和存储诊断网络问题所需的最小数据量。PacketCapture 已集成在 ESXivCenter Server 的 rhttpproxy 服务中。通过编辑 rhttpproxy 服务 XML 配置文件启动和停止 PacketCapture。
注: 对于 ESXi 8.0 及更低版本,启用网络数据包捕获的过程是通过编辑 rhttpproxy 服务 XML 配置文件。从 ESXi 8.0 Update 1 及更高版本开始,反向代理配置已从 XML 文件移至 configstore 数据库。要启用,请使用 configstorecli 捕获网络数据包,请参见 https://kb.vmware.com/s/article/89489

过程

  1. 开始捕获数据包。
    1. 打开 SSH 连接并登录到 ESXi 主机或 vCenter Server
    2. 打开 config.xml 文件进行编辑。
      vSphere 组件 文件位置
      ESXi /etc/vmware/rhttpproxy/config.xml
      vCenter Server /etc/vmware-rhttpproxy/config.xml
    3. 进行以下更改。
      <config>
        <packetCapture>
          <enabled>true</enabled>
    4. (可选) 配置 PacketCapture 选项。
      选项和默认值 描述
      <validity>72</validity> 启动时删除在指定时数之前最后修改且不属于当前进程的所有 pcappcap.gz 文件。
      <directory>/directory_path</directory> 存储 pcappcap.gz 文件的目录。该目录必须存在且可供访问。
      <maxDataInPcapFile>52428800</maxDataInPcapFile> 每个 pcappcap.gz 文件在滚动到下一个文件之前可以存储的捕获数据量(以字节为单位)。vCenter Server 上的最小大小为 5 MB,ESXi 上为 2.5 MB。
      注: 将 50 MB 的捕获数据存储在 pcap 文件中需要约 67.5 MB 的 pcap 文件。
      <maxPcapFilesCount>5</maxPcapFilesCount> pcappcap.gz 文件轮换数。最小数值为 2。
    5. 保存并关闭 config.xml 文件。
    6. 通过运行以下命令重新加载 config.xml 文件。
      kill -SIGHUP `pidof rhttpproxy`
  2. 停止捕获数据包。
    1. 打开 SSH 连接并登录到 ESXi 主机或 vCenter Server
    2. 打开 config.xml 文件进行编辑。
    3. 进行以下更改。
      <config>
        <packetCapture>
          <enabled>false</enabled>
    4. 保存并关闭 config.xml 文件。
    5. 通过运行以下命令重新加载 config.xml 文件。
      kill -SIGHUP `pidof rhttpproxy`
  3. 收集捕获的数据。
    pcappcap.gz 文件存储在以下默认目录中。
    vSphere 组件 文件位置
    ESXi /var/run/log
    vCenter Server /var/log/vmware/rhttpproxy

下一步做什么

pcappcap.gz 文件复制到运行网络分析器工具(如 Wireshark)的系统中,并检查数据包详细信息。

在分析从 ESXi 主机捕获的 pcappcap.gz 之前,请使用 TraceWrangler 实用程序来修复帧大小元数据。有关详细信息,请参见 https://kb.vmware.com/kb/52843