问题描述
我得到 5GB 的 pcap 大小,因此我尝试通过应用捕获过滤器来减小 pcap 的大小。 tshark“CAPTURE FILTER”不接受任何 3gpp 协议作为其语法,因此我捕获了 pcap,然后在此之上应用了显示过滤器,然后我的 pcap 大小减小了。我担心的是,这是一个耗时的过程。
基本上我想在捕获它时减少我的 pcap。
如何使用捕获过滤器减小 pcap 大小?
capture filter I used :tshark -i 1 -w /tmp/manual.pcap
display filter I used :tshark -r /tmp/manual.pcap -Y "(diameter &&! diameter.cmd.code==280) or sip.from.addr contains <msisdn>" -w /tmp/reduced3.pcap
我想在捕获 pcap 时使用显示过滤器。
解决方法
捕获过滤器由“虚拟机”评估,用于实时捕获,通常在操作系统内核中运行;它有一种“机器语言”,该语言受到限制,以防止将危险代码加载到内核中。
Wireshark/TShark 显示过滤器由 Wireshark/TShark 解析机制评估,因此它具有更多功能。因此,任意显示过滤器不一定会变成捕获过滤器。
在这种特殊情况下,您可以做的是将捕获限制为通过默认 Diameter 或 SIP 端口发送或接收的数据包,例如
tcp port 3868 or udp portrange 5060-5061
这不会仅捕获您关心的数据包,但它可能会避免捕获非 Diameter 和非 SIP 端口。
如果Diameter 数据包不在 TCP 端口3868 上,或者SIP 数据包不在 UDP 端口5060 或5061 上,但是它们不会被捕获。