我在我的 Linux 机器中配置了 2 个以太网接口。让我们说接口A和接口B。
我正在编写一个 tcp 客户端套接字程序,需要在定义的接口上发送数据包。
例如。
./client -intf 接口 A/B
如果输入是接口 A,那么客户端只能通过接口 A 发送数据包,反之亦然。
任何人都可以提供一些关于如何实现这一点的提示吗?
提前致谢!!!
您可以bind()
在调用之前使用connect()
将您的客户端套接字绑定到特定的 IP 地址。您可以使用getifaddrs()
列出接口及其关联的 IP 地址。
以前必须做类似的事情,你试过吗? https://austinmarton.wordpress.com/2011/09/14/sending-raw-ethernet-packets-from-a-specific-interface-in-c-on-linux/