2016-03-17 33 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 - 它肯定是。 –

相關問題