2013-05-07 133 views
0

有没有一种方法,从Python的,内知道,如果给定的(连接)网络接口无线以太网Python:是一个给定的网络接口WiFi或以太网?

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

+0

参见:http://stackoverflow.com/questions/14648941/how-to-know-if-mac-地址是连接到无线卡或以太网卡 – Dhara 2013-05-07 15:19:18

+0

http://stackoverflow.com/questions/5281341/get-local-network-interface-addresses-using-only-proc – gsmaker 2013-05-07 15:20:46

+0

其实,我会在单独的进程'iwconfig $ interfaceName'中运行并解析结果。这会好吗? – 2013-05-07 15:26:12

回答

1

随着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() 
相关问题