是否可以将套接字绑定到特定的虚拟适配器? 以下Python代码适用于真正的适配器,例如。 eth0 for cable,wlan0 for wifi:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, 25, b"eth0")
但是当我尝试将套接字绑定到虚拟适配器时,例如" eth0的:0"我得到错误" OSError:[Errno 19]没有这样的设备"。
我的虚拟适配器似乎工作正常,但可以正常操作。
基本上,我要做的是从特定的ip(分配给虚拟适配器)生成传出流量。目的是使用一台计算机在网络上加载/泛洪测试嵌入式设备。
答案 0 :(得分:0)
你应该知道,对于内核这些(eth0和eth0:1)是相同的接口eth0。 标签或'别名',如eth0:1(实际上你可以使用一些更好的用户友好标签,如eth0:internal_net)只需要sysadmin,而不是app 所以你应该依赖源IP(或让内核根据路由表自动选择它)