一次采集多个接口
采集工具支持一次传入多个接口,把多个链路的流量采集到同一个文件里。多接口文件用接口描述块区分来源,分析时按接口字段过滤即可,不必来回切换窗口或者在多个文件之间手工比对时间线。
基本信息
| 适用平台 | Linux 与 Windows,使用 dumpcap |
|---|---|
| 语法 | 重复使用 -i 参数指定多个接口 |
| 输出格式 | 建议 pcapng,pcap 格式单文件只支持一个接口 |
| 过滤方式 | 分析时按接口编号区分来源 |
典型使用场景
- 同时采集物理口与回环口
- 同时采集业务口与管理口
- 采集双上行链路的两个方向
- 一次覆盖容器节点上的多个接口
- 减少多次采集带来的时间线拼接工作
多接口采集与分析
多接口采集与分析
dumpcap -i eth0 -i lo -f 'port 8080' -w multi.pcapng
# 同时采集物理口与回环口,只保留 8080 端口的流量
tshark -r multi.pcapng -T fields -e frame.interface_id | sort | uniq -c
# 统计每个接口贡献的包量,确认覆盖是否完整
tshark -r multi.pcapng -Y "frame.interface_id==0" | head
# 按接口编号单独查看某个接口的流量要点
| 要点 | 说明 | 注意 |
|---|---|---|
| 多个 -i 参数 | 同时采集多个接口 | 总速率叠加,缓冲需相应加大 |
| 输出格式 | 建议使用 pcapng | pcap 单文件仅支持单接口 |
| 接口编号 | 按命令顺序分配 | 跨版本不保证稳定,先核对 |
| 共缓冲 | 多个接口共用一个采集缓冲 | 单口突发大时会互相影响 |
多接口共用一个采集缓冲,单个接口出现突发时会影响其他接口的采集质量。按需拆分采集通常更稳,尤其是总速率很高的场景,宁可多几个文件也别丢数据。
接口编号顺序与命令一致,但不保证跨版本稳定,分析前先核对。总速率翻倍后如果缓冲没相应加大,会出现采集丢包,表现为「某些流缺失」而不是明显报错,很容易被误判成业务问题。
排查顺序
- 先确认采集总速率与缓冲配置是否匹配
- 用接口编号统计各接口包量,确认覆盖完整
- 核对接口编号与业务链路的对应关系
- 分析时按接口分组,避免多接口数据混淆
- 怀疑采集丢包时用更小的过滤条件复采验证