本文給大家分享的是如何通過(guò) Python 腳本實(shí)現(xiàn) WIFI 密碼的暴力破解,從而實(shí)現(xiàn)免費(fèi)蹭網(wǎng)。腳本從無(wú)圖形和圖形界面來(lái)分別實(shí)現(xiàn),主要使用的是pywifi庫(kù):
無(wú)圖形界面先來(lái)看看沒(méi)有圖形界面版的爆破腳本。
WIFI爆破
代碼運(yùn)行效果:
腳本優(yōu)化
以上腳本需內(nèi)嵌 WIFI 名、爆破字典路徑,缺少靈活性。下面進(jìn)行改造優(yōu)化:
腳本運(yùn)行效果如下:
上述代碼實(shí)現(xiàn)了依據(jù)信號(hào)強(qiáng)度枚舉當(dāng)前附近的所有 WIFI 名稱(chēng),并且可供用戶(hù)自主選擇需要暴力破解的 WIFI;
同時(shí)還可靈活指定暴力破解的字典,相對(duì)而言體驗(yàn)感提升了不少。進(jìn)一步也可以將上述腳本打包生成 exe 文件,雙擊運(yùn)行效果如下:
圖形化界面
下面基于 Python 的 GUI 圖形界面開(kāi)發(fā)庫(kù) Tkinter 優(yōu)化上述腳本,實(shí)現(xiàn)友好的可視化 WIFI 暴力破解界面工具。關(guān)于 Tkinter 庫(kù)的語(yǔ)法可參見(jiàn):Python GUI編程(Tkinter)。
簡(jiǎn)單版UI
UI升級(jí)版
以上圖形界面未允許選擇密碼字典,下面進(jìn)行優(yōu)化升級(jí):
腳本運(yùn)行效果如下:
以上基于 Python 的 GUI 圖形界面開(kāi)發(fā)庫(kù) Tkinter,實(shí)際上 Python 的 GUI 編程可以借助 PyQt5 來(lái)自動(dòng)生成 UI 代碼,相關(guān)教程可參見(jiàn):PyQt5設(shè)計(jì)GUI(一)pycharm中配置pyqt5。
總結(jié)
本文學(xué)習(xí)了 Python 暴力破解 WIFI 密碼的方法、以及 Python GUI 圖形化編程的基礎(chǔ)使用。
所演示的代碼的不足在于均沒(méi)有使用多線程進(jìn)行 WIFI 連接測(cè)試,實(shí)際上因?yàn)?WIFI 連接測(cè)試需要一定的耗時(shí)(3-5秒),故使用多線程將能減少暴力破解過(guò)程的等待時(shí)間。