我試圖讓我的IP子網地址(192.168.1.xxx)進入我的Python代碼。我正在運行linux/osx。我該怎麼做/做這件事的最好方法是什麼?試圖在我的Python代碼中使用我的子網地址
3
A
回答
2
8
對這個在我的經驗,最簡單的方法是使用兩個第三方軟件包:
- python-netifaces:便攜式網絡接口信息
- python-netaddr:IPv4的IPv6的CIDR,EUI和MAC的Python的操縱網絡地址
所以安裝這些模塊,然後它的,因爲這很容易:
import netifaces
import netaddr
import socket
from pprint import pformat
ifaces = netifaces.interfaces()
# => ['lo', 'eth0', 'eth1']
myiface = 'eth0'
addrs = netifaces.ifaddresses(myiface)
# {2: [{'addr': '192.168.1.150',
# 'broadcast': '192.168.1.255',
# 'netmask': '255.255.255.0'}],
# 10: [{'addr': 'fe80::21a:4bff:fe54:a246%eth0',
# 'netmask': 'ffff:ffff:ffff:ffff::'}],
# 17: [{'addr': '00:1a:4b:54:a2:46', 'broadcast': 'ff:ff:ff:ff:ff:ff'}]}
# Get ipv4 stuff
ipinfo = addrs[socket.AF_INET][0]
address = ipinfo['addr']
netmask = ipinfo['netmask']
# Create ip object and get
cidr = netaddr.IPNetwork('%s/%s' % (address, netmask))
# => IPNetwork('192.168.1.150/24')
network = cidr.network
# => IPAddress('192.168.1.0')
print 'Network info for %s:' % myiface
print '--'
print 'address:', address
print 'netmask:', netmask
print ' cidr:', cidr
print 'network:', network
個
而這種輸出:
Network info for eth0:
--
address: 192.168.1.150
netmask: 255.255.255.0
cidr: 192.168.1.150/24
network: 192.168.1.0
這是使用Linux來完成。使用OSX時,接口名稱不同,但方法相同。
相關問題
- 1. 我如何使用nmap列出子網中的地址是否使用Python
- 2. 試圖找到我的錯在我的Python代碼
- 3. 使用我的python代碼
- 4. 我試圖用Java代碼
- 5. 如何使用python在我的代碼
- 6. 試圖管理我的網址
- 7. 除了我使用Apache Nutch的1.12,我試圖抓取的網址在seed.txt
- 8. 我試圖找到這個代碼中的錯誤,測試我的JavaScript代碼
- 9. 試圖使用電子郵件地址
- 10. 我試圖在PowerShell中使用python
- 11. 代碼點火器auto_link()搞亂我的電子郵件地址
- 12. 代碼。我如何在我的驗收測試中使用多於一個網址?
- 13. 如何使我的代碼使用python
- 14. 我試圖重新創建這個C#代碼在Java中調用我的網絡API使我ASP.NET
- 15. 我的Jekyll網站站點地圖中的意外網址
- 16. 我有我的python代碼
- 17. 基地網址代碼點
- 18. 使Python在我的目錄中使用代碼(不在/ usr/...中)
- 19. 我無法使用Python調試Visual Studio代碼中的簡單代碼
- 20. 在ASP.NET MVC4中使用電子郵件地址的網址
- 21. 如何測試我的Python代碼?
- 22. 如何調試我的Python代碼?
- 23. 我試圖禁用我的網址更改,而不禁用jquery mobile中的ajax
- 24. 我如何本地化網站地圖的網址?
- 25. 我可以隱藏我們的地址欄網址在asp.net
- 26. 無法使用我的代碼在Lion OS X中更新地址簿
- 27. 我無法使用其IP地址訪問我的網站
- 28. 我需要在我的我的網站代碼中使用CDN服務器
- 29. 我們如何在Python代碼中使用Python生成的protobuf代碼?
- 30. 爲我的網址創建電子郵件地址
[在Python中查找本地IP地址。](http://stackoverflow.com/questions/166506/finding-local-ip-addresses-in-python) – Mark 2010-09-20 22:12:04