是否为重发数据包解析了有效载荷文本(数据字段)?

时间:2018-06-21 17:04:29

标签: wireshark tshark

我正在使用tshark从TCP数据包输出人类可读的文本。我使用data.text字段执行此操作。例如,我的tshark.exe开关包括:

-o data.show_as_text:TRUE -T fields -e data.text

这对于大多数数据包来说都很好。当发件人重新发送数据包时,麻烦就来了。在这种情况下,data.text始终为空白。

在分析Wireshark中的流量时,我发现重新传输的TCP帧(这些帧被标记为[TCP Retransmission]并包括注释“此帧是(怀疑)重新传输”)根本不包含“数据”字段-Wireshark不会重建它(即使我启用了“将数据作为文本解析”选项)。相反,这些帧具有一个“重传的TCP分段数据”字段(tcp.segment_data),其中不包含任何已解析的文本。

这是tshark / wireshark的错误吗?为什么没有为这些数据包构造数据字段?我是否还有其他方法可以从重传的TCP数据包中获取文本,还是我唯一的选择手动解码重传数据包的tcp.segment_data十六进制?

我经常监视的TCP连接已重传了数据包,因此我目前缺少关键数据。

1 个答案:

答案 0 :(得分:0)

您是否启用了TCP重组?也许尝试使用-o tcp.desegment_tcp_streams:FALSE禁用它?如果那没有帮助,则可能是您使用的Wireshark版本存在错误。您可以尝试upgrading to the latest stable version(在撰写本文时为2.6.1),然后重试。如果您的操作系统可用,您甚至可以尝试使用最新的automated installer,也可以尝试building Wireshark from sources。如果问题仍然存在,则可以提交Wireshark bug report以及示例捕获文件来说明问题。

您可能还想在命令行中添加Wireshark显示过滤器,以将输出限制为仅包含data.text的那些数据包,例如-Y data.text

有关-Y和其他选项的更多信息,请参考tshark man page