0

有没有办法从Python中知道给定(和连接的)网络接口wifi还是Ethernet

该模块inetfaces提供了可用网络接口和相应地址的列表,但仅此而已。

4

2 回答 2

2

使用pyroute2 .IW (类似的脚本在示例目录中):

import sys
from pyroute2 import IW
from pyroute2 import IPRoute
from pyroute2.netlink import NetlinkError

ip = IPRoute()
iw = IW()
index = ip.link_lookup(ifname=sys.argv[1])[0]
try:
    iw.get_interface_by_ifindex(index)
    print("wireless interface")
except NetlinkError as e:
    if e.code == 19:  # 19 'No such device'
        print("not a wireless interface")
finally:
    iw.close()
    ip.close()
于 2015-02-17T16:36:08.017 回答
0

您可以使用 python scapy模块。

from scapy.all import *
print(get_windows_if_list())
于 2019-01-23T09:48:55.737 回答