Tshark 在第一个随机收到的数据包上静默崩溃 (linux)

问题描述

我有一个自定义嗅探器,它以 pcapng 格式生成输出。我是这样启动的:

<sniffer launch line> | tee out.pcapng | tshark -Tpdml -i -

期望在标准输出中有 pdml 输出。通常它可以工作,但有时会发生以下情况:在嗅探器将第一个数据包写入标准输出后,tshark 仅报告 0 packets captured关闭。同时out.pcapng似乎是有效的,可以用wireshark成功打开。

此外,当我尝试 cat out.pcapng | tshark -Tpdml -i - 时,它会在 90% 的启动中成功处理输入,但有时仍会失败。

看来,将 tshark 标志从 -i 更改为 -r 有帮助,但我不确定它是否解决了问题,或者只是减少了它出现的频率。无论如何,我很高兴知道那里实际发生了什么。使用 stdbuf -o 0 tshark ... 启动 tsahrk 没有帮助。

有问题的 .pcapng 文件示例:https://drive.google.com/file/d/1GS41yti0zs5-ZT5bgRNYslIQW1q_fDfQ/view?usp=sharing

Tshark 版本:TShark (Wireshark) 3.2.3 (Git v3.2.3 packaged as 3.2.3-1)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)