如何在Linux中接收网络层(OSI第3层)数据包?更具体地说,IPv4数据包与传输层协议(UDP、TCP等)无关。最好是不带库的C语言。
使用socket(AF_INET, SOCK_RAW, IPPROTO_RAW),我只能发送IPv4数据包,而不能接收。
发布于 2019-11-29 02:22:32
您是否尝试过使用套接字库中的recvfrom。如下例所示:
sock_raw = socket(AF_INET , SOCK_RAW , protocol);
while(1)
{
data_size = recvfrom(sock_raw , buffer , 65536 , 0 , &addr , &addr_size);
}https://stackoverflow.com/questions/59094460
复制相似问题