tcpdump定时捕获数据包时随机生成多文件并持续写入的问题求助
tcpdump定时捕获数据包时随机生成多文件并持续写入的问题求助
大家好,我目前在排查一个问题——外部系统反馈和我这边通信时存在响应延迟,所以我设置了一个cron定时任务,打算在和外部系统开始通信时启动tcpdump,完整捕获这段通信期间的所有数据包。
下面是我的配置和遇到的情况:
定时任务(Cronjob)
39 10 * * * /tmp/tcpdumpEDAissue/capture_traffic.sh
捕获脚本(capture_traffic.sh)
/usr/sbin/tcpdump -i any host 10.225.42.129 or 10.225.42.130 -C 50 -Xs 0 -vvvv -w /tmp/tcpdumpEDAissue/capture_CallbackEDA_$(date +%Y%m%d_%H%M%S).pcap
实际执行结果
我在目标目录下看到了这些文件:
BT-ISB1-MNSLB1B:/tmp/tcpdumpEDAissue # ls -ltr total 3792 -rwxrwxrwx 1 root root 356 Oct 19 10:36 capture_traffic.sh -rw-r----- 1 root root 2629632 Oct 19 11:20 capture_CallbackEDA_20241019_103901.pcap -rw-r----- 1 root root 1241088 Oct 19 11:20 capture_CallbackEDA.pcap13
遇到的问题
我本来预期tcpdump会基于启动时的时间戳生成捕获文件,当文件大小达到50MB时,自动生成带序号的同前缀文件(比如capture_CallbackEDA_20241019_103901.pcap1这类)。但实际结果里,除了正常带时间戳的capture_CallbackEDA_20241019_103901.pcap,还出现了一个不带时间戳的capture_CallbackEDA.pcap13文件,而且看起来tcpdump一直在持续写入数据(两个文件的修改时间都是11:20,远超过我预期的通信时长)。
我想知道这是什么原因导致的?怎么才能让tcpdump只捕获指定时间段内的数据包,并且按预期生成带时间戳前缀的分割文件,不会出现这种无时间戳的额外文件?
备注:内容来源于stack exchange,提问作者Kamran Nawaz
相关产品推荐
相关产品推荐

