让采集自己停下来
采集工具支持按包数、时长、文件体积自动停止,这让无人值守采集变得可控:不用守着终端手动掐表,脚本也能依据退出码判断结果。-c 控制包数,-a 系列控制时长与体积,组合使用更适合长期运行与周期性任务。
基本信息
| 适用平台 | Linux 与 Windows,使用采集工具 dumpcap |
|---|---|
| 关键选项 | -c 包数、-a duration 时长、-a filesize 体积 |
| 退出行为 | 满足停止条件后进程自动退出 |
| 脚本配合 | 依据退出码判断采集结果 |
典型使用场景
- 夜间无人值守采集固定时长流量
- 按体积限制避免磁盘被写满
- 复现问题前采固定样本量
- 定时任务里周期性采集
- 与文件轮转配合做长期留存
三种停止条件
三种停止条件
dumpcap -i eth0 -a duration:600 -w cap.pcapng
# 采集 10 分钟后自动停止
dumpcap -i eth0 -c 100000 -w cap.pcapng
# 采到 10 万个包后自动停止
dumpcap -i eth0 -a filesize:102400 -w cap.pcapng
# 单文件体积到上限后停止,避免占满磁盘选项读法
| 选项 | 含义 | 注意 |
|---|---|---|
| -c 数量 | 包数上限 | 可与时长条件组合使用 |
| -a duration | 时长上限 | 按墙钟时间计算,不是文件内相对时间 |
| -a filesize | 单文件体积上限 | 单位依工具说明,注意换算 |
| 退出码 | 采集结果 | 非零时先查原因再分析文件 |
自动停止后进程会退出,脚本里据此确认采集是否完成。建议同时在脚本里记录开始与结束时间,便于后续界定样本窗口,也方便与监控时间线对齐。
duration 与 filesize 的语义完全不同,一个是墙钟时间一个是文件体积,混用会导致采集覆盖范围与预期不符。另外自动停止不等于采集成功,退出后仍要核对文件能否正常打开、包数是否符合预期。
排查顺序
- 先估算目标流量速率,据此设置合理的包数与体积上限
- 组合使用时长与体积条件,避免磁盘被写满
- 在脚本里检查退出码,失败时记录原因
- 采集结束后核对文件可读性与包数
- 长期任务中把文件命名带上时间戳,便于定位样本窗口