linux下运行tcpdump中断

背景:

使用tcpdump命令抓包,每当数据文件达到100M,停止抓包,压缩文件。抓包命令如下:

tcpdump -i br0 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' -w $filename & tdid='pgrep tcpdump'

现象:

但是昨天出现一台设备,没有产生新的数据包。


原因:

使用命令:

ps -ef |grep tcpdump

查看进程,发现tcpdump进程已经不在了。


查看nohup日志,发现如下内容

tcpdump: pcap_loop: The interface went down
169706 packets captured
170042 packets received by filter
167 packets dropped by kernel

百度上查到这样一段信息:

However if there is any kind of disruption to the physical link, tcpdump exits with the following error

但是,如果物理链路出现任何中断,tcpdump将退出并显示以下错误:
大概是因为网络问题导致的中断吧。


解决办法:

除了判断文件大小外,同时判断执行时间,条件修改为:文件达到100M或者抓包时间达到10分钟,然后重启tcpdump

你可能感兴趣的:(linux下运行tcpdump中断)