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)只能尝试使用英语/或法语/或汉语来尝试解读它。

当Wireshark打开pcap文件显示X11协议而非预期的TLS时,原因是Wireshark根据端口默认解析为X11。解决方法是通过“DecodeAS”手动设置为TLS协议进行正确解析。用户可以左键选择包,右键选择“DecodeAS”,将协议改为TLS,或者通过菜单栏或快捷键进行设置。

1万+

被折叠的 条评论
为什么被折叠?



