2016-03-10 20 views
0

我的电脑有两块网卡,一块连接到公司内联网,另一块连接到某些测试设备。Python通过多个以太网卡之一执行HTTP

如何与测试设备交换HTTP流量?我需要Windows和Linux的解决方案。

我可以只使用HTTP protocol client并期望对它进行分类吗?我想使用socket — Low-level networking interface

我的问题是,我必须以某种方式表明我希望使用特定的网卡,或者o/s能以某种方式在幕后找出它吗?

+1

在Windows上使用'ipconfig'向您显示您的计算机在每个网卡上的IP地址。您需要与之通话的设备的IP地址应足以让操作系统选择合适的卡。 – quamrana

+0

@quamrana如果两个以太网卡使用192.128.xxx.xxx地址与两台不同机器上的192.128.xxx.xxx地址进行通信,会发生什么情况?我不需要通过'eth0'1或'eth1'发送HTTP吗? – Mawg

回答

2

除非你在你的机器上奇怪地设置你的网络或路由等,它应该不成问题。例如

; 如果您的测试设备是网络192.168.1.0/24 IP地址是192.168.1.2

您的计算机设置了类似的: 接口1(内部网): 网络192.168.0.0/24 IP 192.168.0.76

接口2(testnet): 网络192.168.1.0/24 IP 192.168.1.3

那么任何流量你直接在192.168.1。*是要通过接口2被发送出去,除非你手动设置。路由到不这样做。

+1

所以,o/s把它整理出来呢?我可以只使用HTTP库?在Windows和Linux上? – Mawg

+0

如果两个以太网卡都使用192.128.xxx.xxx地址与两台不同机器上的192.128.xxx.xxx地址进行通信,会发生什么情况?我不需要通过'eth0'1或'eth1'发送HTTP吗? – Mawg

+1

我会说这将是一个不幸的网络配置,因为ip地址的整个想法是为你的范围,他们应该是唯一的。我不知道httplib如何处理,你可以尝试ip%interface(例如192.128.2.2%eth1)。当谈到链接本地地址时,一些库/实用程序认为这意味着你想在特定的接口上绑定你的套接字,但这是一场赌博。如果你不能接受不支持这样的配置,你很可能必须自己编写套接字代码。 – nissefors