我只是还没有开始学习网络,我不明白wireshak是如何决定展示什么协议的?它通常显示第三层协议(TCP\UDP),但是为什么不显示第二层或第四层的协议?例如:

发布于 2022-05-27 23:42:40
Wireshark有单独的名为“分解”的代码来处理不同的协议。例如,TCP分解器处理TCP头和选项,DNS解析器处理DNS请求和响应字段,等等。
您可以在“数据包详细信息”视图中看到此操作。例如,如果我选择一个数据包,详细信息显示如下:
Frame 267: 419 bytes on wire (3352 bits), 419 bytes captured (3352 bits)
Ethernet II, Src: 00:50:56:c0:00:01, Dst: 00:0c:29:42:12:13
Internet Protocol Version 4, Src: 93.49.13.169 (93.49.13.169), Dst: 172.16.0.122 (172.16.0.122)
Transmission Control Protocol, Src Port: 2035, Dst Port: 80, Seq: 1, Ack: 1, Len: 365
Hypertext Transfer Protocol这表明数据包处理从“框架”分解开始(它总是这样),它将数据包传递给以太网分解器,然后是IPv4、TCP和。
每个分解器通常(但不总是)将协议列设置为其名称。例如,TCP分解器将协议列值设置为"TCP",IPv4分解器将其设置为"IPv4“。
协议列显示了什么?不管是哪个最高层的剖分器设置了放在那里的协议列。最后一个赢了。
https://stackoverflow.com/questions/72364856
复制相似问题