Wireshark是如何通过header域来判断一个协议是SMTP还是TCP的呢?

How does Wireshark judge whether a protocol is SMTP or TCP through the header field?

我知道SMTP和HTTP一样都是基于TCP的,但是Wireshark是怎么判断是SMTP而不是TCP的呢?

How does Wireshark judge it as SMTP rather than TCP?

没有。 SMTP 位于 TCP 数据包的有效负载内。所以 Wireshark 将首先剖析 TCP,如果它有可用于解析有效负载的剖析器,它也会解析它,就像本例中的 SMTP 一样。总之,你的"SMTP packet"也是一个TCP包。例如,您可以通过端口等 TCP 属性过滤 SMTP 数据包。