如何接收具有与侦听接口不同的已知目标MAC的数据包UDP
问题描述:
我试图侦听将通过UDP发送的指定为已知MAC地址的特定发现数据包。该MAC地址将不会与我接收的接口的MAC地址相同。如何接收具有与侦听接口不同的已知目标MAC的数据包UDP
我试过Beej的UDP listener但它只接收正确的MAC数据包。
当我用tcpdump监听时,我可以看到数据包正在将它传送到设备。
它看起来像我可以在一个原始套接字(虽然还没有得到那个工作),但会有一种方法来只过滤目标MAC我想要的?
任何人都可以给我任何指导吗?
答
您的接口通常不会收到未发送到自己地址的数据包。它只是忽略它们。
您需要在promiscuous mode中设置您的网络接口并使用Linux提供的数据包捕获接口。
这与tcpdump使用的机制相同。它是一个为内核中的数据包捕获机制提供接口和过滤器的库。
在您提及的同一文档中还有一小部分相关信息:http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#indexId434909-212 – snap