2013-05-07 62 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() 
相關問題