应用程序运行使用非标准端口号总是网络分析专家最关注的。关注该应用程序是否有意涉及使用非标准端口,或暗中想要尝试通过防火墙本文选自WireShark数据包分析实战详解清华大学出版社。
1.分配给另一个程序的端口号
当某数据包使用非标准端口上,如果被Wireshark识别出是使用另一个程序,则说明Wireshark可能使用了错误的分析器,如图2.19所示本文选自WireShark数据包分析实战详解清华大学出版社。
图2.19 使用非标准端口
从该界面Packet List面板中的Info列,可以看到显示了NetBIOS的信息。但正常的NetBIOS流量看起来不是这样的。当Info列的端口区域显示netbios-ns时,Protocol列显示的都使用的是TCP协议。此时查看该文件,发现Info列不包含正常的NetBIOS名称服务细节。
2.手动强制解析数据Wireshark分析非标准端口号流量
手动强制解析数据有两个原因,分别如下:
q Wireshark使用了错误的解析器,因为非标准端口已经关联了一个分析器。
q Wireshark不能为数据类型启动解析器。
强制解析器解析数据,右键单击在Packet List面板中的不能解析的/解析错误的包,并选择Decode AS。如图2.19所示,通常TCP建立连接使用三次握手。客户端与服务器端之间共三个TCP包,建立成功后应该是HTTP协议。但是该界面都是TCP协议,说明有未正确解析的数据。这里选择第4个包,右键单击选择Decode AS,将弹出如图2.20所示的界面。
图2.20 选择解码器
在该界面选择正确的解码协议(这里选择HTTP),然后单击OK按钮。这时,正确解码后显示界面如图2.21所示。
图2.21 使用HTTP解码器
从该界面可以看到Protocol和Info列的信息都发生了变化。
3.怎样启动解析器Wireshark分析非标准端口号流量
启动解析器的过程如图2.22所示。
图2.22 启动解析器过程
启动解析器过程如下所示:
(1)Wireshark将数据传递给第一个可用的启动器。如果该解析器中没有解析器端口,则传递给下一个匹配的解析器。
(2)如果该解析器能解析发生来数据的端口,则使用该解析器。如果不能解析,则再传递给下一个匹配的解析器。
(3)如果该解析器匹配,则使用并结束解析。如果仍然不能解析,再次将数据传递。依次类推,指定结束。
(4)如果直到结束仍不匹配,则需要自定义数据。
4.调整解析器Wireshark分析非标准端口号流量
如果确定在网络中运行了非标准端口的数据,此时可以在HTTP协议的首选项设置中添加该端口。例如,用户想要Wireshark解析来自81端口号的HTTP数据。添加过程如下:
(1)在工具栏中依次选择Edit|Preferences|Protocols|HTTP,将显示如图2.23所示的界面。
图2.23 HTTP协议首选项
(2)在该界面右侧,可以看到默认设置的端口号。在TCP Ports对应的文本框中,添加81端口号。添加完后,单击OK按钮本文选自WireShark数据包分析实战详解清华大学出版社。