我有一个特定的网卡 (NetFPGA),它在 ICMP Echo Reply 数据包的末尾添加了一个 8 字节的时间戳(校验和被忽略)。当我尝试以这种方式读取原始套接字中的数据包时:
recvsock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
我只得到了没有添加时间戳的 IP + ICMP 数据。我试过了:
recvsock = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_IP));
这样我得到了一切,我不能绑定任何地址。也试过:
recvsock = socket(AF_INET, SOCK_RAW, htons(ETH_P_IP));
但是什么都没抓到。。
知道如何打开一个原始套接字,它只会捕获特定的 ICMP 回显回复数据包,但不会忽略添加的 8 字节时间戳?
谢谢
伊多