我正在使用Windows 7 x86在C中编写一个脱机数据包解码程序.
我想知道如何知道数据包协议,如果是UDP或者TCP?
UDP
TCP
您可以通过检查IP数据包标头来了解,数据包标头中有一个Protocol字段用于根据其值指示数据包的类型:
Protocol
1 是ICMP
1
6 是TCP
6
17 是UDP
17
等等.有关此内容的更多信息,请访问维基百科
编辑:这是该字段的所有可能值的列表.
PS: 我在这里假设IPv4,我不知道IPv6的情况是否相同