實驗內容:不借助其他工具,用python暴力破解wifi
實驗工具:python3.6+pywifi模塊+密碼字典
實驗環境:Windows7(64bit)
實驗思路:
- 首先搜索附近的wifi,將這些wifi信息(wifi個數、wifi名稱、對應的Mac地址、以及信號強度)顯示出來。
- 其次通過顯示出來的wifi列表,如果想對某個wifi進行破解,只需點擊該行,就可以將該wifi的名稱獲取到。
- 最后需要將使用密碼字典文件導入進來實施破解即可。如果破解成功就彈出對話框顯示破解成功,並且將破解獲取到的wifi密碼顯示到wifi密碼這一欄中,如果破解不成功,顯示破解失敗對話框。
實驗步驟:分兩步
step1:編寫界面代碼
這一步需要使用tkinter模塊,這是python自帶的圖形界面庫,通過import tkinter調用使用就可以了,代碼中set_init_window函數就是實現界面排版功能。最后的界面實現結果如下圖:
其中,各項表示的含義:
- 搜索附近wifi:搜索wifi
- 開始破解:破解之前需要獲取wifi和密碼文件路徑
- 目錄路徑:顯示密碼字典文件的路徑
- wifi賬號:顯示的是所要破解的wifi名稱
- wifi密碼:顯示的是所要破解WiFi的密碼
wifi列表中包括四列,分別是:wifiID,SSID,BSSID,signal
- wifiID:表示wifi的個數
- SSID:表示wifi的名稱
- BSSID:表示wifi的MAC地址
- signal:表示wifi的信號強度
step2:編寫破解wifi代碼
實現過程:
1、首先導入pywifi模塊,因為要啟用wifi那么必須要有啟用wifi的模塊。
2、有了啟用wifi的模塊以后,我們首先要抓取網卡接口, 因為連接無線wifi,必須要有網卡才行。一台電腦可能有很多網卡, 但是一般都只有一個wifi網卡,我們使用第一個網卡就行了。
3、抓取到以后就進行連接測試,首先是要斷開所有的wifi網卡上 的已連接成功的,因為有可能wifi上有連接成功的在。
4、斷開所有的wifi以后,我們就可以進行破解了, 從(.txt)文檔中一行一行讀取我們的密碼字典, 一遍一遍的刷密碼,直到返回isOK為True,表示破解成功。
5、因為連接也是要時間的,不可能一秒鍾嘗試好多次, 而且還依賴字典的強度。
對密碼字典的思考:
如果想要破解某個wifi的話,還是應該結合社會工程學搜集該wifi的信息,然后根據這些信息通過密碼生成器從而生成更具有針對性的密碼,這樣破解速度上有很大的提高。
實驗總結和不足的地方:
1、學習了python的語法已經針對性的學習了GUI界面設計部分,但是界面部分設計的還是有些死板,可以通過pack()來管理界面,更好地辦法可以通過h5+css+python來設計界面,自己造輪子,不用調用tkinter模塊。
2、學習了如何使用python破解wifi