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