使用Tap/Tun在IP层拦截数据包

使用Tap/Tun在IP层拦截数据包

我正在从事一个涉及 ARP 中毒的研究项目。

我想在 IP 级别拦截数据包。如果我的机器收到一个 IP 地址不是发往其自身 IP 地址的数据包,我希望将该数据包发送到用户空间程序。

我认为这可以通过使用 TUN/TAP 接口来实现。因此,如果我的硬件接口的 IP 地址为 192.168.1.3,而我的 TUN 的 IP 地址为 192.168.1.4,则可以设置硬件接口将所有发往 192.168.1.4 的数据包转发到 TUN,然后 TUN 再转发给用户空间程序。

由于 ARP 中毒,传入的数据包仍将发往我的硬件接口,并具有我的 TUN 的 IP 地址。设备将通过以太网交换机或 WiFi 连接到同一网络。

这是一个可行的方法吗?有没有更简单/更好的方法来实现这一点?

相关内容