源代码:
import psutil info = psutil.net_if_addrs() info2 = psutil.net_if_stats() print(info) # 结果1 print("\n") print(info2) # 结果2
运行结果:
结果1:
{'以太网': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='80-FA-5B-5D-40-91', netmask=None, broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET: 2>, address='169.254.16.147', netmask='255.255.0.0', broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::4ced:34f1:f096:1093', netmask=None, broadcast=None, ptp=None)],
'WLAN': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='94-B8-6D-BD-0D-3F', netmask=None, broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET: 2>, address='192.168.1.8', netmask='255.255.255.0', broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 23>, address='2409:8a60:1e4f:acd0:e1f3:2398:b230:3c93', netmask=None, broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 23>, address='2409:8a60:1e4f:acd0:d4a0:ca:9bfa:1cd1', netmask=None, broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::e1f3:2398:b230:3c93', netmask=None, broadcast=None, ptp=None)]}
结果2:
{'以太网': snicstats(isup=False, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=0, mtu=1500),
'WLAN': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=144, mtu=1500)}
………………
结果解析:
1.psutil返回值
函数 | 详情 |
---|---|
psutil.net_io_counter([pernic]) | 以命名元组的形式返回当前系统中每块网卡的网络io统计信息,包括收发字节数,收发包的数量、出错的情况和删包情况。当pernic为True时,则列出所有网卡的统计信息。 |
psutil.net_connections([kind]) | 以列表的形式返回每个网络连接的详细信息(namedtuple)。命名元组包含fd, family, type, laddr, raddr, status, pid等信息。kind表示过滤的连接类型,支持的值如下:(默认为inet) |
psutil.net_if_addrs() | 以字典的形式返回网卡的配置信息,包括IP地址和mac地址、子网掩码和广播地址。 |
psutil.net_if_stats() | 返回网卡的详细信息,包括是否启动、通信类型、传输速度与mtu。 |
psutil.users() | 以命名元组的方式返回当前登陆用户的信息,包括用户名,登陆时间,终端,与主机信息 |
psutil.boot_time() | 以时间戳的形式返回系统的启动时间 |
2.返回元素解析
字典的关键字:网卡的名称
snicaddr:指后面所描述地址的具体内容
family:地址类型(<AddressFamily.AF_LINK: -1>指物理地址;<AddressFamily.AF_INET: 2>指IPv4的地址;<AddressFamily.AF_INET6: 23>指IPv6的地址)
address:地址信息
netmask:网络掩码
broadcast:广播地址
ptp:指向的VPN地址
isup:指网卡的运行状态(TRUE:可操作;FALSE:已断开连接)
duplex:指通信类型( 全双工:NIC_DUPLEX_FULL
,半双工:NIC_DUPLEX_HALF,不详类型:
NIC_DUPLEX_UNKNOWN
.)
speed:指传输速度
mtu:指传输的最大数据包大小(字节)