C RAW套接字与自定义ETH类型的通信

时间:2016-09-18 18:10:55

标签: c linux sockets

所以我在linux 2.6内核上运行了两个用户空间应用程序(比如应用程序A和B)。

app A使用下面的套接字

发送带有自定义以太网类型(ETH_FOO)的原始数据包
socket(PF_PACKET, SOCK_RAW, htons(ETH_FOO));

如果应用B使用ETH_P_ALL打开原始套接字并且无需绑定就侦听所有接口,则它可以成功接收A发送的类型为ETH_FOO的pkts。

但是如果B打开类型为ETH_FOO的套接字,则不会发现任何数据包。我只想捕获ETH_FOO pkts。可能是什么问题?

这是我的第一个问题。请原谅我的错误,如果有的话。此外,我无法复制整个代码,因为它不是我的,而且有点具有代表性。

0 个答案:

没有答案