标签: c sockets network-programming raw-sockets
我正试图了解如何在C语言中处理原始UDP数据包。
我发现some sample code试图在计算机上工作。它所做的就是从头开始构建IP和UDP标头,附加数据,创建原始套接字,然后发送带有IP和UDP标头的数据。
所有内容都能编译并运行,没有错误/警告,但是当我尝试使用netcat侦听端口时,我没有收到任何数据包。但是,当我将发送套接字从SOCK_RAW更改为SOCK_DGRAM时,就会发送一个数据包。
SOCK_RAW
SOCK_DGRAM
谁能告诉我为什么会这样吗?