如何用单行tcpdump命令捕获eth0的ICMP流量并保存为可读pcap文件?
解决方法
首先需要纠正你之前的一个错误:使用> file.pcap重定向输出得到的并不是标准PCAP格式文件,而是tcpdump解析后的文本日志。正确的捕获PCAP文件应该使用-w参数——这是tcpdump专门用于写入原始捕获数据到文件的选项。
如果你想完成捕获后立即读取生成的PCAP文件,直接用&&将两个命令串联成一行即可:
tcpdump -i eth0 icmp -c 10 -w file.pcap && tcpdump -r file.pcap
这条命令会先捕获eth0上的10个ICMP包并保存为file.pcap,捕获完成后自动读取并解析显示该文件内容。
如果需要在捕获过程中实时显示解析后的流量内容,同时保存为PCAP文件,可以结合tee命令实现:
tcpdump -i eth0 icmp -c 10 -w - | tee file.pcap | tcpdump -r -
各部分作用说明:
- 第一个
tcpdump用-w -将原始PCAP数据输出到标准输出 tee命令将数据流同时写入file.pcap文件和传递到下一个管道- 第二个
tcpdump用-r -从标准输入读取PCAP数据并解析显示
内容的提问来源于stack exchange,提问作者Erica Moran
相关产品推荐
相关产品推荐

