C ++(BSD套接字) - 转发前修改传入的数据包:

时间:2014-11-25 19:04:16

标签: c++ linux sockets iptables raw-sockets

我正在使用启用了IP转发的Linux(基于Debian)系统(/ proc / sys / net / ipv4 / ip_forward设置为1)。我可以使用C ++原始套接字程序读取传入的数据包,但我想在转发之前修改它们的内容(仅使用BSD套接字)。 This link提到我可以使用“iptables REDIRECT规则”将传入的数据包发送到我的程序正在监听的端口,但是我没有找到有关应该如何完成此操作的任何信息。主要是,我想知道:

  1. 修改后如何转发数据包。收到并修改后,我是否必须从程序手动将它们发送到目的地地址?

  2. 如果程序没有侦听特定端口(例如只关注数据包IP头的程序),我该怎么办。

  3. 如果接收和转发都在同一个无线接口上完成。我必须转发数据包,并从同一WLAN设备接收数据包。

0 个答案:

没有答案