协议分析仪支持多种自定义规则设置,涵盖过滤、捕获、触发、解码、分析、存储与导出等多个维度,能够满足复杂网络环境下的精准监测需求。以下是具体规则类型及设置方式:
一、过滤规则:精准筛选目标流量
- 基础字段过滤
- IP/端口过滤:通过源/目的IP、端口号缩小范围。例如:
- ip.src == 192.168.1.100(仅显示源IP为该地址的数据包)
- tcp.port == 80(仅显示HTTP流量)
- 协议类型过滤:直接筛选特定协议,如http、icmp、dns等。
- 逻辑组合:使用and、or、not组合条件,例如:
- (ip.src == 192.168.1.1 and tcp.port == 80) or (ip.dst == 192.168.1.2 and udp.port == 53)
- !(ip.addr == 10.0.0.5)(排除所有涉及10.0.0.5的数据包)
- 高级字段过滤
- 协议特定字段:针对协议深层字段筛选,例如:
- http.request.method == "GET"(仅显示HTTP GET请求)
- dns.qry.name contains "example.com"(筛选包含特定域名的DNS查询)
- tcp.flags.syn == 1(仅显示TCP SYN握手包)
- 正则表达式匹配:支持对文本字段进行模式匹配,例如:
- http.request.uri matches "^/api/.*"(匹配所有以/api/开头的HTTP请求路径)
- data contains "48656c6c6f"(十六进制过滤,匹配数据中包含"Hello"的ASCII编码)
- 时间与长度过滤
- 时间范围:结合时间戳筛选特定时间段的数据,例如:
- frame.time >= "2025-07-17 10:00:00" and frame.time <= "2025-07-17 10:30:00"
- 数据包长度:根据帧长度或协议负载大小筛选,例如:
- frame.len > 1000(显示长度超过1000字节的数据包)
- tcp.len == 0(筛选TCP零窗口通告包,分析网络拥塞)
二、捕获规则:优化数据采集效率
- 链路层过滤
- 以太网帧过滤:基于MAC地址或帧类型捕获,例如:
- ether src 00:11:22:33:44:55(捕获源MAC地址为该值的帧)
- ether dst ff:ff:ff:ff:ff:ff and arp(捕获广播地址的ARP请求)
- USB过滤:针对USB设备地址、传输类型或端点号过滤,例如:
- usb.device_address == 3 and usb.transfer_type == 0x01(捕获设备地址3的控制传输)
- 协议层过滤
- IP协议过滤:捕获特定IP包,例如:
- ip.src == 192.168.1.100 and icmp(捕获源IP为192.168.1.100的ICMP包)
- HTTP协议过滤:捕获特定HTTP请求,例如:
- http.request.method == "GET" and http.request.uri contains "/api/data"
- 专用协议过滤
- BLE协议:捕获特定设备地址或广告包,例如:
- ble.advertising_address == 00:1a:7d:da:71:13(捕获指定BLE设备的广告包)
- Zigbee协议:过滤特定设备地址或功能簇,例如:
- Source Address: 0x1234, Cluster ID: 0x0006(捕获设备0x1234的开关控制命令)
三、触发规则:实时响应关键事件
- 边沿/电平触发
- 边沿触发:捕获信号上升沿或下降沿,例如I2C的SCL上升沿。
- 电平触发:监测信号达到特定电压阈值,例如USB的VBUS>4.5V。
- 协议字段触发
- 基于协议包头或特定字段触发,例如:
- USB的PID字段为DATA0(捕获USB数据包)
- PCIe的TLP包类型为Memory Read Request
- 多级触发
- 设置主触发和次触发,例如:
- 主触发:I2C > Start Condition(捕获I2C起始条件)
- 次触发:I2C > Address = 0x50(捕获设备地址为0x50的I2C通信)
- 触发模式:设置为AND(需同时满足条件)。
- 序列触发
- 捕获按特定顺序发生的事件,例如:
- PCIe的Memory Read Request后跟随Completion(触发条件设置为Sequence > TLP1 = MRd, TLP2 = CplD)。
四、解码与分析规则:深度解析协议行为
- 自定义协议解码
- 对私有协议(如自定义传感器通信)定义帧结构,包括起始位、数据位、校验位等。
- 错误标记与统计
- 启用协议错误检测(如CRC校验失败、帧长度错误),并在波形上标记错误位置。例如:
- USB 3.2数据包若CRC5校验失败,分析仪会在包尾显示红色错误标志。
- 多协议关联分析
- 同步显示不同协议的时间关系,例如USB事务与I2C配置命令的时序。
五、存储与导出规则:灵活管理数据
- 分段存储
- 将存储空间划分为多个段(如每段1MB),按触发事件循环覆盖,避免单次事件占用全部存储。
- 配置:在分析仪菜单中选择Storage > Segmented,设置段数(如1024段)和段大小(如1MB)。
- 自动报告生成
- 生成包含协议统计信息(如包数量、错误率、吞吐量)的PDF报告。例如:
- Teledyne LeCroy Advisor T3的Report Generator功能可自动生成USB协议性能报告,包含带宽利用率、事务延迟等关键指标。
- 数据导出格式
- 支持导出为CSV、TXT、MAT(MATLAB)等格式,便于后续分析。