【问题标题】:Whether UDP packets received will pass to raw sockets and whether we can print UDP header using raw sockets收到的 UDP 数据包是否会传递到原始套接字以及我们是否可以使用原始套接字打印 UDP 标头
【发布时间】:2014-05-18 21:10:46
【问题描述】:

这个问题是关于RAW SOCKETS。在书中给出了接收到的 UDP 和 TCP 数据包永远不会传递到原始套接字,我们无法读取 RAW SOCKETS 中的 UDP 和 TCP 标头,要读取 UDP 和 TCP 标头,我们应该在“数据链路层”中读取它”。

我使用“sfd=socket(AF_INET,SOCK_RAW,IPPROTO_UDP)”创建了一个原始套接字来测试它是否会接收UDP数据包,并尝试打印成员的源端口和目标端口udp 标头。程序打印出两个端口,即它正在接收 UDP 数据包并且可以读取 udp 标头。

我不明白什么书真正说的是什么程序正在打印出来。 请帮助我哪里错了。

我正在开发 ubuntu 操作系统。

【问题讨论】:

    标签: sockets unix networking


    【解决方案1】:

    socket(AF_INET,SOCK_RAW,IPPROTO_UDP) 创建的套接字将接收传入的 UDP 数据包。我应该通知一些数据包不会被这种方法接收(见here)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 2011-05-10
      • 2015-01-02
      • 1970-01-01
      • 2016-08-01
      • 2021-02-24
      • 2013-02-09
      相关资源
      最近更新 更多