为了测试 TCP 堆栈程序,我需要通过路由器获取 TCP 数据包。当我尝试通过路由器连接到我的服务器程序时,操作系统不会访问路由器,因为目标 IP 与源 IP 相同。
我可以制定一条临时规则来告诉 Linux 堆栈使用特定适配器(wlan0
)和特定路由器地址来发送具有特定目标端口(5101
)的 TCP 数据包吗?
答案1
我不确定我是否理解了你的问题,但在我看来(如果(我已经理解正确了),一个更简单的解决方案是让你的程序在环回 (127.0.0.1) 上监听,然后将你的数据包发送到环回 (当然,使用适当的端口)。