【发布时间】:2012-06-22 18:44:22
【问题描述】:
首先,我需要在内核空间知道这一点,所以请考虑到这一点。
不,我不能使用其他设备的 IP 地址和 ARP 它(这里解释原因太长了)但我根本不能使用 ARP,ARP 不适用于我正在处理的项目。
是否有一个函数/实用程序可以用来知道连接到我已经拥有的给定 net_device 的连接中另一端的 MAC 地址,而不管 IP 是什么?
提前致谢,如果我的问题不清楚或没有意义,请发表评论,我会确保编辑问题以解释/填补空白
【问题讨论】:
-
您有权访问传入的数据包吗? nefhook 敌人示例。
-
我确实可以访问传入的数据包。目前我正在保存传入帧的 MAC 地址,以便以后使用它们进行发送。但是还有其他方法可以做到这一点吗?
-
不,你要么预先配置它,要么照你做的那样做。您也可以查看 arp 表,但对我来说,从内核代码中实现起来似乎更困难。
-
如果您不使用 ARP,您如何进行通信?你预填充了 ARP 缓存?
-
不。好吧,我不能使用 ARP,因为我正在手动更改我正在与之通信的 IP 地址(出于另一个目的,这超出了问题的范围)所以如果我 ARP 查询 IP,ARP 将找不到它们或会发现错误的东西。
标签: networking network-programming linux-kernel kernel-module