此问题与 RAW SOCKETS 有关。在书中给出了收到的UDP和TCP数据包永远不会传递到原始套接字,我们无法读取RAW SOCKETS中的UDP和TCP头并读取UDP和TCP头,我们应该在“数据链接层读取它“。
我使用“ sfd = socket(AF_INET,SOCK_RAW,IPPROTO_UDP)”创建了一个原始套接字来测试它是否会接收UDP数据包并尝试打印成员的源端口和目标端口udp标题。程序打印出两个端口,即它接收UDP数据包,并且可以读取udp标头。
我不明白哪本书真的说什么,以及什么程序打印出来。 plzz帮助我,我错了。
我正在研究ubuntu os。
答案 0 :(得分:0)
socket(AF_INET,SOCK_RAW,IPPROTO_UDP)
创建的套接字将接收传入的UDP数据包。我应该通知这种方法不会收到一些数据包(参见here)。