點擊上方“
何俊林
”,馬上關注,每天早上
8:50
準時推送
真愛,請置頂或星標
原文:轉載自公號菜鳥學Python
作者:小超
昨晚家里停網了,對于互聯網人,停網了,這能忍?打電話給修網絡的,說太晚了,要第二天才能過來,這TM沒網不是要我的命么?電腦看到隔壁小姐姐的wifi信號滿格哇,這讓我動了邪念,看有沒有辦法蹭下網,我第一個想到了高效的Python,嘗試看能不能破解隔壁小姐姐的wifi密碼~
Python真的是無所不能,原因就是因為Python有數目龐大的庫,無數的現成的輪子,讓你做很多很多應用都非常方便。
今天從WiFi連接的原理,再結合代碼為大家詳細的介紹如何利用python來破解WiFi。
1
如何連接wifi
首先我們的電腦是如何連接wifi的呢?就拿我們的筆記本電腦來說,我們的筆記本電腦都有無線網卡,如下圖所示:
當我們連接WiFi時,無線網卡會自動幫助我們掃描附近的WiFi信號,并且會返回WiFi信號的一些信息,包括了網絡的名稱(SSID),信號的強度,加密和認證的方式等。這些信息我們在進行操作的時候是看不到的。當我們想要連接指定WiFi的時候,我們都需要進行認證,認證的作用就是保護wifi的訪問,注意這里的認證不是我們輸入的密碼,而是將我們輸入的密碼進行加密的方式。也就是將我們輸入額WiFi密碼,進行加密傳輸的一種方式。大家常用的方式是WPA或者是WPA2PSK,主要是針對個人或家庭網絡等,對安全性要求不是很高的用戶。如下圖所示。
當我們輸入密碼后,會彈出提示來告訴我們一些提示的信息,這個提示的信息其實就是在指定認證加密的方式。我們點擊“是”之后,就可以開心的上網了。
2
利用pywifi模擬接入
pywifi這個庫是第三方的需要提前用pip安裝一下,接著我們就利用pywifi模塊來模擬這一個過程。首先是判斷電腦是否處于WiFi連接的狀態,代碼如下圖所示。
首先是創建一個pywifi的對象,然后將電腦無線網卡的信息賦值給ifaces。接著判斷ifaces的狀態(states)即可知道電腦是否連接無線網絡。上面我們提到無線網卡會返回無線信號的信息,接下來我們就來輸出一下我們掃描到的附近的無線信號以及它們的信息。
如上圖左側所示,我們輸出了無線信號的名稱和其對應的加密方式。二代碼中的data其實就是一個個的配置文件。這里的配置文件我們可以理解為一個存儲了我們連接的無線信號信息的文件,里面包含了無線信號的名稱,密碼,認證方式等等信息。
3
破解wifi密碼
接下來,我們就要利用pywifi來進行破解WiFi密碼的操作。我們仿照手動輸入密碼的過程,并進行驗證,如果密碼錯誤的話,我們就不停的更滑密碼進行試驗直到成功為止。部分的代碼如下所示:
程序中,我們首先從console中讀入我們想要破解額WiFi名稱,然后從我們事先設置好的WiFi密碼本中,不停的讀入WiFi密碼,然后配置profile的信息,包括WiFi的名稱,認證方式和WiFi的密碼。如果密碼錯誤的話,就更換WiFi密碼繼續進行驗證,直到驗證正確為止。下圖是實驗的結果。
上述的破解方法也被稱為暴力破解法。
當然這種暴力破解需要有一個數據庫樣本,比如有數十萬的破解密碼的樣本。這樣通過充足的時間,可以用來嘗試。
本文只是從技術的角度來闡述如何利用python來玩WiFi,來學習Pywifi這個庫!并不建議大家做任何破壞性的操作和任何不當的行為。
強烈推薦一個Python號給大家,Python可以做非常好玩和有意思的事情。
更多爬蟲,關注下面公號,后臺回復:
“
wifi破解
”
,獲取全套代碼。
說句題外話,有不少人想加魚哥微信,魚哥姑且放出來,但是坑位有限哦
想去大廠么?
來加入魚哥技術星球,放大你進大廠概率
掃描如下二維碼加入我的知識星球:
?推薦閱讀
憋了1年,今天,我有件大事和大家說下! "2019,別去互聯網大廠了!"
喜歡就點在看吧