Wireshark解析协议不匹配

Wireshark解析协议不匹配


1、问题

现有TLS/SSL over TCP的客户端、服务端相互通信,其中,服务端监听TCP端口6000。
在这里插入图片描述
使用tcpdump抓包6000端口,生成pcap文件6000.pcap:
在这里插入图片描述
使用Wireshark打开6000.pcap,显示如下:
在这里插入图片描述
期待Wireshark解析的是TLS协议,但实际并非如此,而是X11协议。

为什么呢?


2、原因

首先,tcpdump抓包,生成pcap是按照条件进行过滤,抓二进制数据流存储为pcap文件。

二进制数据流本身就是一串0或1,其是否有意义,取决于“你”/Wireshark怎么认为、怎么理解。

实际上,Wireshark对一个pcap包中的数据,会尝试进行解析、呈现。

例如,Wireshark对6000.pcap解析,得知TCP通信端口一侧是6000,则根据默认的预设规则,6000对应X11协议,因此Wireshark尝试使用X11协议解码规则来解析、呈现抓包内容。

面对一串不知名文字,你(Wireshark)只能尝试使用英语/或法语/或汉语来尝试解读它。

因此我们得到非预期的X11协议错误解析结果:

你用“法语”的语法规则去解析“汉语”文章语句,牛头不对马嘴,信息异常。


3、解决

左键选中解析异常的包,右键选择“Decode AS…”:
在这里插入图片描述
然后将规则中的“当前”进行修改:
在这里插入图片描述
将(none)修改为“TLS”:(你的真正的、实际的通信协议)
在这里插入图片描述
点击“OK”或者“Save”:
在这里插入图片描述
这个时候,Wireshark就会按照你设定的协议,对pcap进行解析:
在这里插入图片描述
例如,我设置59739的TCP端口按照TLS协议解析,可得到上图结果。

当然,更合理的是,对TCP端口是6000的包按照TLS协议解析。

另外,也可以通过菜单栏的“分析”、“解码为…”打开上述界面:
在这里插入图片描述
又或者按照快捷键Ctrl+Shift+U快速打开。


4、参考

http://www.kaiyuanba.cn/content/network/wireshark/c9.4.html
https://blog.csdn.net/wu_cai_/article/details/79555488

猜你喜欢

转载自blog.csdn.net/test1280/article/details/128855578
今日推荐