0
有没有一种方法,从Python的,内知道,如果给定的(连接)网络接口是无线或以太网?Python:是一个给定的网络接口WiFi或以太网?
模块inetfaces
提供了可用网络接口和相应地址的列表,但仅此而已。
有没有一种方法,从Python的,内知道,如果给定的(连接)网络接口是无线或以太网?Python:是一个给定的网络接口WiFi或以太网?
模块inetfaces
提供了可用网络接口和相应地址的列表,但仅此而已。
随着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()
参见:http://stackoverflow.com/questions/14648941/how-to-know-if-mac-地址是连接到无线卡或以太网卡 – Dhara 2013-05-07 15:19:18
http://stackoverflow.com/questions/5281341/get-local-network-interface-addresses-using-only-proc – gsmaker 2013-05-07 15:20:46
其实,我会在单独的进程'iwconfig $ interfaceName'中运行并解析结果。这会好吗? – 2013-05-07 15:26:12