数据包的协议

发布于 2024-12-18 06:53:22 字数 108 浏览 2 评论 0原文

我正在 Windows 7 x86 下用 C 语言编写离线数据包解码程序。

我想知道如何知道数据包协议,无论是 UDP 还是 TCP

I'm programming an offline packets decoding program in C under Windows 7 x86.

I wonder how it is possible to know packet protocol, either if it is UDP or TCP?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏辞 2024-12-25 06:53:22

通过查看IP数据包头可以知道,数据包头中有一个Protocol字段,用于根据其值来指示数据包的类型:

  • 1为ICMP
  • 6 是 TCP
  • 17 是 UDP

等等。有关此内容的更多信息,请访问 维基百科

编辑: 这里是 < a href="https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers" rel="noreferrer">该字段的所有可能值的列表。

PS:
我这里假设是IPv4,不知道和IPv6是否一样

You can know by checking the IP packet header, there is a Protocol field in the packet header that is used to indicate the type of the packet according to its value :

  • 1 is ICMP
  • 6 is TCP
  • 17 is UDP

and so on. More information on this is available on Wikipedia

Edit: Here's the list of all the possible values for that field.

P.S:
I'm assuming IPv4 here, I don't know if things are the same with IPv6

热血少△年 2024-12-25 06:53:22

该协议可在 IP 标头中找到。了解更多此处

The protocol is available in the IP header. Read more here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文