tcpdump如何屏蔽终止进程时输出的数据包统计信息?
解决方案
tcpdump终止时输出的三行统计信息属于**标准错误流(stderr)**输出,而非承载抓包内容的标准输出流(stdout),所以只需重定向stderr到空设备即可屏蔽该部分内容,同时不影响抓包内容的写入。
常用实现方式
- 仅将抓包内容写入txt文件,终端无任何输出:
命令示例(替换方括号内的自定义参数即可):tcpdump [你的抓包参数] 2>/dev/null > 保存的文件名.txt
实际用例参考:抓取eth0网卡80端口的流量存到http_log.txttcpdump -i eth0 port 80 2>/dev/null > http_log.txt - 希望抓包内容同时写入txt文件和显示在终端,仅屏蔽终止时的统计行:
配合tee命令实现:tcpdump [你的抓包参数] 2>/dev/null | tee 保存的文件名.txt - 如果需要留存统计信息但不想显示在终端,可将stderr重定向到单独的日志文件:
tcpdump [你的抓包参数] 2> 统计日志.txt > 抓包内容.txt - 如果是直接保存pcap格式的抓包文件(用
-w参数),也适用同样的逻辑:tcpdump -i eth0 -w capture.pcap 2>/dev/null
内容的提问来源于stack exchange,提问作者questionmark
相关产品推荐
相关产品推荐

