我在wireshark中看到没有专门的字段来识别应用层协议,但是wireshark是如何做到的?
答案 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。