源代碼:
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:指傳輸的最大數據包大小(字節)