如何通过内容regex匹配过滤pcap(例如tcpdump)文件?

2024-05-15 20:39:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我用tcpdump收集了一些大的pcap(数据包捕获)文件。我想过滤掉包含特定字符串的包。我希望我的输出仍然是pcap格式。我发现了几种只显示与pcap文件中的regex匹配的包的方法,但我需要的是过滤这些文件,而不是过滤掉数据包的显示(例如stdout)。输出需要是删除了匹配数据包的pcap文件。在

我怀疑DPKT(Python模块)可能会有帮助,但如果可能的话,我更希望使用现有的(C/C++)工具来做这件事。我将接受代码作为答案(也许一个好的dpkt例子和基准测试可以说服我也这么做;-)。在

提前谢谢!在

回答:

根据尼姆的回答,通过Wireshark/tshark可以做到这一点。为了供其他人参考,下面是一个示例命令行,我在其中检查udp数据包中的字符串匹配(此示例可以构建为tcp或特定协议字段搜索):

tshark -r infile  -R 'not udp matches "my_search_string"' -w outfile

再次感谢!在


Tags: 模块文件工具方法字符串示例格式stdout
1条回答
网友
1楼 · 发布于 2024-05-15 20:39:32

这个website有一个很好的例子,说明了如何用C读取pcap文件,一个快速的google搜索将揭示如何重新编写该文件。在

或者,AFAIK Wireshark可能已经允许您这样做了,即打开文件,应用过滤器并保存文件(快速浏览Wireshark-可以发现它确实提供了这一功能)。在

相关问题 更多 >