2016-03-17 55 views
1

我有可以连接到一个网络,不同的网络或其他可能的方式多个NIC的机器。在该机器上运行使用请求模块向服务器发送POST/GET请求的Python脚本。Python 3:如何获取nic从哪个发送数据包到某些ip?

所以,问题是下一步:我怎么能知道在Python脚本从接口请求将被发送?

+0

你真的* *需要知道的是,还是它只是个人的好奇心?因为操作系统路由将确保正确的数据包在正确的接口上熄灭。 –

+0

是的,我知道操作系统会选择正确的,所以我需要获取操作系统用于编程的NIC。 –

回答

0

这里有两种不同的答案。一个是你想要指定NIC发送请求的情况,另一个是你正在问的问题:找到正确的NIC。

对于第二个答案,我只能说,这要看情况。这些网卡是否位于同一网络/子网上?他们保持联系吗?

如果它们是在不同的网络上,那么你就可以知道主机的IP地址,并使用计算机的路由表,看看哪个NIC的数据包通过。如果它们绑定在同一网络上,则该请求将从绑定接口离开,因为它通常是具有IP地址的那个。如果他们在同一个网络上,并且在同一个子网上拥有不同的IP地址,则取决于它。你能提供更多的信息吗?

+1

更确切地说,我需要知道从哪个ip发送请求。问题是我无法知道网络配置,并且可以在程序运行时更改它。 机可以有网卡的任何可能的数量和每个NIC将有它自己的IP - 它肯定是。 –

相关问题