配置网络堆栈以使用来自 TAP 设备的数据,以便应用程序可以像数据本来发送给它一样运行

配置网络堆栈以使用来自 TAP 设备的数据,以便应用程序可以像数据本来发送给它一样运行

我有两个通过 UDP 进行通信的设备 A 和 B。

中间有一个 TAP 设备,C 连接到该设备。为了使 C 能够接收流量,它需要设置与 A 相同的 IP 和 MAC 地址。(1)此作品展示了用于 A 的数据(从 B 发送)。但是,当我添加 B(查看来自 A 的传入流量)时,一切都停止工作。

我认为这是由于配置的双对 IP 冲突造成的。我猜内部路由优先。所以(1)停止工作,因为 B 地址也驻留在同一台机器上,并且没有产生任何流量。

我能做什么呢?

目标是能够获得nc -v -u -l <IP_from_A_or_B> 2000 | hd

在窃听数据时,这种情况肯定很常见吧?与其写混乱的代码,我更希望能够通过配置来解决这个问题。无论网络中是否有其他节点。

相关内容