我正在使用2个不同的C程序来接收碎片数据包,其中一个使用定义如下的原始套接字:
_socket0 = socket( PF_PACKET, SOCK_RAW, htons(ETH_P_ALL) );
使用UDP套接字定义如下:
_socket0=socket(AF_INET, SOCK_DGRAM, 0);
第一个工作正常,第二个工作不起作用,我无法看到nothings。 谁能告诉我原因?
答案 0 :(得分:0)
UDP数据包的片段不是UDP数据包,因此不会传递给UDP套接字。 UDP套接字用于读/写整个UDP数据包,而不是带有一个片段的IP数据包。