Python Network Programming 简明教程
Python - Network Interface
当一台计算机有多个接口时,我们需要跟踪它们的名称、状态等。在 Python 中,我们可以列出接口及其状态。
When we have multiple interfaces in a machine we need to keep track of their names, status etc. In Python we can list the interfaces and their status.
Example
在以下示例中,我们使用了 Python 模块 netifaces ,它提供了接口及其状态的详细信息。所使用的方法非常简单且直接。
In the below example we use the python module netifaces which gives the details of the interfaces and their status. The methods used are very simple and straight forward.
import netifaces
print (netifaces.interfaces())
print (netifaces.ifaddresses('lo'))
print (netifaces.AF_LINK)
addrs = netifaces.ifaddresses('ens33')
print(addrs[netifaces.AF_INET])
print(addrs[netifaces.AF_LINK])
当我们运行以上程序时,我们得到以下输出:
When we run the above program, we get the following output −
# Result
['lo', 'ens33']
{17: [{'peer': '00:00:00:00:00:00', 'addr': '00:00:00:00:00:00'}], 2: [{'peer': '127.0.0.1', 'addr': '127.0.0.1', 'netmask': '255.0.0.0'}], 10: [{'addr': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128'}]}
17
[{'netmask': '255.255.255.0', 'addr': '192.168.232.128', 'broadcast': '192.168.232.255'}]
[{'addr': '00:0c:29:ea:13:0a', 'broadcast': 'ff:ff:ff:ff:ff:ff'}]