wireshark抓包ssl数据出现ignored unknown record的原因

文章目录


前言

使用下面这个例子来观察记录层数据大于TCP MSS时用wireshark抓包出现ignored unknown record的情况并分析原因。
c语言利用openssl实现简单客户端和服务端(观察记录层最大长度)


一、出现原因

TCP MSS = MTU - IP头 - TCP头,MTU一般为1500字节,IP头20字节,TCP头20字节,所以要保证IP不分包的情况下,一个TCP包最多携带1460字节的数据。所以一个16384字节的记录层数据要分成很多个TCP包进行传输,服务端收到后进行TCP重组,获得一个完整的记录层数据,然后ssl层对记录层数据进行解密。

一个记录层数据包分割成多个TCP报文的示意图如下:

一个记录层数据有完整的格式,wireshark能够通过type类型来判断该数据属于ssl的记录层。但是一个记录层数据分割后,后面的多段数据没有type字段,wireshark并不能通过分割后的数据来判断上层协议类型,只能将分割的数据包组装成一个完整的数据包,wireshark才能知道该数据包的上层协议类型。

二、wireshark抓包分析

Ignored Unknown Record

抓取分割后的TCP数据出现不能解析上层协议的情况,就出现Ignored Unknown Record。

wireshark知道该数据是ssl类型的数据,但是不能解析具体的协议类型。

通过wireshark可以将分割后的TCP数据包组装成一个完整的数据包,然后就能知道上层协议类型。

TCP segment of a reassembled PDU

多个TCP数据包组长完成后,wireshark能够解析得到该协议类型是记录层协议。TCP segment of a reassembled PDU,表示该数据是有多个TCP数据包组装而成。

可以看出一个记录层有3个TCP数据包组装而成,如果MTU为1500则有更多个TCP数据包组装而成。

总结

相关推荐
hengdonghui13 小时前
Writeup 4 Bugku - USB 流量截取
wireshark·ctf·流量分析·misc(杂项)
xiaoye-duck14 小时前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
无足鸟ICT16 小时前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
坤坤子吖18 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
xiaoye-duck19 小时前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型
andxe20 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机
say_fall1 天前
【Linux网络编程】计算机网络基础:局域网与广域网、OSI七层模型与TCP/IP五层模型、封装解包与MAC/IP地址、端口号与socket编程接口
linux·网络·tcp/ip·计算机网络·信息与通信
Joy T1 天前
Gzip 压缩原理与实践:HTTP 响应压缩、性能收益与工程配置
网络·网络协议·http
叼烟扛炮1 天前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
CodeYp20191 天前
第3讲:网络命令
linux·网络·命令