问题描述
使用 wireshark 抓包时,出现:
- 协议为 SSL
- Info 为 Continuation Data
但是 ……却无法展开分析:
原因分析
ssl continuation data? - Wireshark Q&A
当内容无法被完全理解时,该 Frame 会被标记为 Continuation Data
,当TLS记录被拆分到多个TCP段时,会发生这种情况:
- 捕获从现有SSL/TLS连接的中间开始,而不是捕获记录的开头
- 交换记录开始和结束的 无序数据包(Bug 9461)
- TCP重组被禁用(因此,当记录的开始部分被分离时,后半部分将无法识别)
最后,在TLS分析的情况下,确实不可能。例如,一些用户可以通过注册为HTTPS的443端口运行VPN软件来绕过防火墙。
解决方案
暂无
- 打开 TCP 重组,亲测无效
附:TCP 重组 翻译
诸如HTTP或TLS之类的协议很可能跨越多个TCP segments。
TCP协议首选项 “Allow subdissector to reassemble TCP streams”(默认启用)
- 使Wireshark有可能收集TCP段的连续序列并将它们移交给更高级别的协议(例如,重建完整的HTTP消息)
- 在包列表中,除了最后一个 segment 以外的所有 segments 都将被标记为
[TCP segment of a reassembled PDU]
禁用此首选项以减少内存和处理开销:
- 如果您只对TCP序列号分析感兴趣(第7.5节“TCP分析”)
- 例如,HTTP消息可以显示为
Continuation
,TLS记录可以显示为Ignored Unknown Record
- 如果您在TCP连接早已启动或TCP segment 丢失或 传输顺序错误时开始捕获,也可以观察到这样的结果
要重新组装无序的TCP段,除了之前的首选项之外,还必须启用TCP协议首选项 “Reassemble out-of-order segments”(当前默认禁用)。
- 如果按顺序接收所有数据包,则此首选项将不起任何作用。
- 否则(如果在顺序处理包捕获时遇到丢失的段),则假定新的和丢失的段属于同一PDU。
注意事项:
- 丢失的数据包被认为是无序接收或稍后重新传输的。应用程序通常会重新传输数据段,直到这些数据段被确认,但是如果数据包捕获丢弃了数据包,Wireshark将无法重建TCP流。在这种情况下,您可以尝试禁用此首选项,并希望对每个TCP段进行部分解剖,而不是只看到“[TCP segment of a reassembled PDU]”
- 在监控模式(ieee802.11)下进行捕获时,由于信号接收问题,数据包更容易丢失。在这种情况下,建议禁用该选项。
- 如果新的和丢失的段实际上是不同PDU的一部分,那么处理当前被延迟直到不再丢失更多的段,即使丢失段的开始部分完成了PDU。例如,假设六个段组成两个PDU ABC和DEF。当接收到ABECDF时,应用程序可以在接收到ABEC之后开始处理第一个PDU。然而,Wireshark也需要接收缺失的D段。这一问题将在今后得到解决。
- 在GUI中,在两次扫描(tshark-2)过程中,前面的场景将在具有最后一个段(F)的包中显示两个PDU,而不是在具有PDU最后丢失段的第一个包中显示它。这一问题将在今后得到解决。