Python 网络接口

当在一台机器上有多个接口时,需要跟踪它们的名称,状态等。在Python中,可以列出接口及其状态。

示例

在下面的示例中,使用python模块netifaces,它提供了接口及其状态的详细信息。使用的方法非常简单直接。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
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])

执行上面示例代码,得到以下结果:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
# 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.1.128', 'broadcast': '192.168.1.255'}]
[{'addr': '0a:0c:21:aa:21:0a', 'broadcast': 'ff:ff:ff:ff:ff:ff'}]

Python提供了对网络服务的两个访问级别。在较低的级别上,可以访问底层操作系统中的基本套接字支持,从而可以为面向连接和无连接的协议实现客户端和服务器。Python还具有提供对特定应用程序级网络协议(例如FT ...