通过使用 pktcap-uw 实用程序为源地址和目标地址、VLAN、VXLAN 和占用数据包负载的下一级别协议应用筛选选项,可缩小监控的数据包范围。

筛选选项

pktcap-uw 的筛选选项在捕获和跟踪数据包时有效。有关 pktcap-uw 实用程序命令语法的信息,请参见用于捕获数据包的 pktcap-uw 命令语法用于跟踪数据包的 pktcap-uw 命令语法

表 1. pktcap-uw 实用程序的筛选选项
选项 描述
--srcmac mac_address 捕获或跟踪具有特定源 MAC 地址的数据包。使用冒号分隔其中的八位字节。
--dstmac mac_address 捕获或跟踪具有特定目标 MAC 地址的数据包。使用冒号分隔其中的八位字节。
--mac mac_address 捕获或跟踪具有特定源 MAC 地址或目标 MAC 地址的数据包。使用冒号分隔其中的八位字节。
--ethtype 0xEthertype

根据占用数据包负载的下一级别协议捕获或跟踪位于第 2 层的数据包。

EtherType 对应于以太网帧中的 EtherType 字段。它表示占用帧负载的下一级别协议的类型。

例如,要监控链路层发现协议 (LLDP) 的流量,请键入 --ethtype 0x88CC

--vlan VLAN_ID 捕获或跟踪属于 VLAN 的数据包。
--srcip IP_addess|IP_address/subnet_range 捕获或跟踪具有特定源 IPv4 地址或子网的数据包。
--dstip IP_addess|IP_address/subnet_range 捕获或跟踪具有特定目标 IPv4 地址或子网的数据包。
--ip IP_addess 捕获或跟踪具有特定源 IPv4 地址或目标 IPv4 地址的数据包。
--proto 0xIP_protocol_number

根据占用负载的下一级别协议捕获或跟踪位于第 3 层的数据包。

例如,要监控 UDP 协议的流量,请键入 --proto 0x11

--srcport source_port 根据数据包的源 TCP 端口对其进行捕获或跟踪。
--dstport destination_port 根据数据包的目标 TCP 端口对其进行捕获或跟踪。
--tcpport TCP_port 根据数据包的源 TCP 端口或目标 TCP 端口对其进行捕获或跟踪。
--vxlan VXLAN_ID 捕获或跟踪属于 VXLAN 的数据包。
--rcf pcap_filter_expression

使用富通用筛选表达式捕获或跟踪数据包。

例如,要捕获 IP 内容长度大于 1000 字节的所有输入和输出数据包,请使用筛选表达式 --rcf "ip[2:2]>1000"

要选择特定的源主机地址和端口号,请使用筛选表达式 --rcf "src host 12.0.0.1 and port 5000"。此示例使用端口 5000 筛选主机地址 12.0.0.1 的流量。

要了解有关使用 --rcf 选项筛选网络流量的更多信息,请参阅有关使用 tcpdump 等命令行数据包分析器的 pcap 筛选表达式的文档。请参见 pcap-filter - 数据包筛选语法

注: 使用 --rcf 选项时,请遵守以下限制。
  • 不要使用 --rcf 选项筛选 VLAN 数据包。要跟踪 VLAN 或 VXLAN,请使用 pktcap-uw --vlan--vxlan 选项。
  • 不要筛选 IP 广播地址。
  • 不要在 ENS 端口上使用 --rcf
--rcf-tcp-data tcp_packet_data_filter

使用富通用筛选表达式捕获或跟踪 TCP 数据包。

例如,要捕获具有 200 OK 的所有 HTTP/1.0 响应数据包,请使用筛选表达式 --rcf-tcp-data "HTTP/1.0 200 OK"

要筛选返回 index.html 文件的 HTTP GET 请求,请使用筛选表达式 --rcf-tcp-data "GET /index.html"

竖线 | 表示替代值。