tshark 显示过滤器在将 pakets 写入输出文件时不起作用

tshark display filter not working while writing pakets to an outfile

我是新手 tshark.I 想使用 wireshark 捕获一些 ipp 数据

为此,我正在使用以下 tshark 终端命令

 tshark -i 3 -a duration:20 -Y "ipp contains 02:00:00" -T pdml > gggggg.xml

在上面的命令中,我设置了 20 秒的持续时间,之后 tshark 执行将自动停止并创建一个 xml 文件

它工作正常

但在某些情况下,获取 'ipp' 数据会有延迟,20 秒后 tashark 捕获将停止。由于这无法捕获 data.it 在 20 秒后退出。当我增加时间延迟时,我将获得完整数据作为 xml 文件。我正在寻找其他选项,例如设置文件大小以及当文件大小达到特定 kb 时停止 tshark。为此,我将 tshark 命令更改为

tshark -i 3 -Y "ipp contains 02:00:00" -b filesize:100 -b files:1 -l -w some.txt -T pdml > gggggg.xml

收到错误

 tshark: Display filters aren't supported when capturing and saving the captured packets.

我如何创建一个 xml 文件,当文件大小达到特定 Kbs 时停止 tshark execution.also 我需要使用过滤器类型 "ipp contains 02:00:00"(它只会输出ipp 将数据打包为 xml)

在 Wireshark / TShark 中,有两种语法不同的过滤器:capture filters and display filters。对于您的情况,您可以设置一个捕获过滤器,只保留发送到端口 631 (IPP) 的 TCP 或 UDP 数据包:

dst port 631

为了限制捕获文件的大小,man page 表示:

-a < capture autostop condition >

Specify a criterion that specifies when TShark is to stop writing to a capture file. The criterion is of the form test:value, where test is one of:

filesize:value Stop writing to a capture file after it reaches a size of value kB.

因此,对于 1Mb 的最大文件大小、xml 输出和目标端口 631 (IPP) 上的捕获过滤器,您的命令将如下所示:

tshark -i eth0 -f "dst port 631" -a filesize:1024 -T pdml -w ipp.xml