如何知道TCP中的应用层协议?

时间:2011-04-20 12:25:14

标签: network-protocols application-layer

我在wireshark中看到没有专门的字段来识别应用层协议,但是wireshark是如何做到的?

2 个答案:

答案 0 :(得分:1)

Wireshark(libpcap)只知道Ips,传输协议(UDP / TCP)和端口。有了这个信息,它尝试用候选协议“解码器”解码帧。通常它会犯错误。 如果您想要更准确地识别协议,则必须使用深度包检测分析器。更多信息http://en.wikipedia.org/wiki/Deep_packet_inspection

答案 1 :(得分:0)

这个email list条目描述了一些关于wireshark启发式的内容。

简而言之,wireshark在可用时使用端口/协议号以及魔术常量。启发式方法还可以使用有效负载的特殊属性(在HTTP中,可以在某些流量开始时查找字符串GET / POST / ...)。 dissectors (因为它们被称为)也可以查看流量​​中的其他数据包,这在其他应用程序hi-jacks端口80时非常有用,例如Skype does this every now and then