用tcpdump搜索很多pcap文件
答
有更强大的tcpdump版本,tshark(它是wireshark包中的命令行工具)。您可以使用tshark -T字段| pdml | ps | psml | text以您喜欢的格式转储数据包,并且只需grep它。 tshark可以读取tcpdump转储。
+0
我不太确定我会如何使用它。假设我有一个捕获文件(capture.pcap),我想搜索文件是否包含关键字“example1”和“example2”。我将如何使用您的解决方案? –
答
可能使用tshark
最通用的解决方案是将运行类似:
tshark -r file.pcap -Y "frame contains foo"
...其中foo
是你要搜索的字符串。有关使用contains
和其他运算符(如支持Perl兼容正则表达式的matches
运算符)进行筛选的更多信息,请参阅wireshark-filter man page。
使用该命令,您将看到的输出将是与过滤器匹配的每个数据包的单行摘要。你可以定制使用多种方法的输出,但例如,假设你只想知道匹配数据包的帧数,你可以运行:
tshark -r file.pcap -Y "frame contains foo" -T fields -e frame.number
参考tshark
man page的详细信息,在-T
和-e
选项,以及可能对您有用的其他选项。
也许一个使用'''dpkt'''模块的python脚本可以帮助你实现 –