在Wireshark无法正常解析GMTSSL流量时的手动分析方法

6.1.背景

在使用Wireshark分析GMSSL流量的时候,发现不能正常解析流量包,能看出时SSL的流量,但是Wireshark却无法将其解析为,参考前一篇文章尝试用其他工具进行解析也无果。

2.尝试指定协议解析

此时尝试指定TLS协议进行解析,发现也无法正常识解析到其握手过程。

再次尝试指定OPenVPN协议进行解析,这个时候发现能解析出部分数据。

通过解析出的部分内容我们可以确定使用的协议时GMTLS,此时分析发现,只能看到握手过程的部分内容,无法查看在握手过程中发送的证书信息。

3.尝试分析其中的数字证书

从上文中可以看到包里确实有服务器证书的信息,但是Wireshark却无法正常解析出来,因此尝试根据SSL握手包原始数据的包格式去提取数字证书(尝试了其他部分协议分析工具,但依然无法正常解析)。

首先我们要知道SSL握手包的格式,这里我们拿一个正常可解析的流量包来进行分析。在正常的数字证书包中,开头是16表示的消息类型,近跟着16后面的两位代表的是协议版本,其中0301表示TLS1.0,0302表示TLS1.2,0303表示TLS1.2,0101表示的是GMTLS。

紧跟着版本后的两位表示消息长度,比如303后面的0427就是消息的长度,0427转十进制为1063,刚好对应wireshark解析的相对应。

 

长度后面的包为数字证书包,0b表示握手类型为证书,握手类型后面3位000423为消息长度,000423转换为十进制为1059,消息长度后面3位000420为证书长度,000420转换为十进制为1086。

接下来就是分析证书的具体内容了,DER编码格式的证书开头都是3082,在3082前面的三位00041d表示的是数字证书的长度,00041d转换为十进制为1053,因此从3082截取1053位数据就可以得到证书了。

4.从Wireshark无法解析的GMTLS中提取数字证书

通过上文我们可以知道TLS包格式,因此我们将无法解析的数据进行提取。

提取出来后我们进行分析,可以得出在server hello中所发数字证书的原始数据,根据上文提到的分析方法,可以得出此次流量包中的数字证书的具体信息。

所框选的地方就是我们目标数字证书,将其存入txt文本中,然后通过010Editor工具导入后将其另存为cer,即可得到目标证书。

 5.总结

目前Wireshark官网最新版本已经兼容了Wireshark-gm的功能,但部分GMTLS的流量依然无法正常解析,本文中的流量包尝试用Wireshark-gm版本进行分析,依然无法正常识别。

6.0补充

后面对流量包进行了详细分析,发现解析失败的原因是流量包握手过程中有部分流量丢失。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>