平時下班或者放學回到家,很多人喜歡打打游戲看看電影,但是一個月30天,經常流量不夠用,有很多人就裝上了Wifi,但是卻經常被別人連自家的,然后打游戲看電影卡頓就很煩,但是自己又沒有辦法知道別人家的Wifi,很難受。
這種情況該怎么辦呢?別怕,我們又Python這個強大的編程語言,號稱除了生孩子什么都可以做。
既然想要用代碼來解決這個問題,那么首先肯定需要一臺電腦,最好是帶無限網卡的那種,我們的筆記本都會安裝無限網卡:
當我們連接Wifi的時候,無線網卡會自動幫我們掃描附近的Wifi,然后返回一些信息,比如Wifi名稱,信號強度有多少格,Wifi的加密方式等等。
一般的家庭Wifi或者個人Wifi用的都是WPA加密揮著WPA2PSK的加密方式,這種安全性不是很高。當我們自己連接Wifi的時候,只要輸入密碼,然后電腦會彈出來一些提示的信息,這些其實就是在指定認證的加密方式。如果密碼是對的,點擊“是”就可以開心的上網了。
用Python實現:
上面講到了Wifi的安全性問題,想要爬取Wifi密碼就必須先了解它,之后開始實現過程。
首先我們需要引用Pywifi庫,這個庫需要提前用PIP安裝一下,網上有安裝教程,很簡單,我就不做過多的介紹了。
安裝號之后先判斷Wifi是不是處于連接狀態,具體代碼如下圖:
這里我先創建了一個pywifi的對象,然后把無限網卡的信息給了ifaces,然后判斷ifaces的狀態、也就是也就是states是不是處于連接狀態!
如果是連接狀態,那么就把Wifi信息輸出一下,具體的代碼實現:
代碼中的data是一個個配置文件,可以理解為存儲Wifi信號的文件,包括Wifi名稱、密碼、認證方式、加密方式等等。
信息都獲取到了,那么就要來破解Wifi密碼了。
我們用代碼仿照手動輸入面的過程,并且每輸入一次都進行認證,如果錯誤,那么就不停地換密碼,知道成功為止。具體代碼如下:
大概30行左右的代碼,在這段代碼中,首先從console讀入要破解的Wifi名稱,然后在設置好的wifi密碼庫中不停地讀取并寫入wifi密碼,然后配置profile信息,如果密碼錯誤就換密碼繼續驗證,直到驗證成功為止!
花了大概4秒鐘的時間,就直接破解了,如下圖所示:
這個破解方法比較暴力,而且消耗的時間不一定準確,由wifi密碼的難度來決定的。但是這是一個試湊的過程。(PS:這種破解方法需要一個密碼數據庫樣本來引入)。
最后強調一下,本文是Python技術文章,一切以技術為主,寫個案例只是為了學起來不那么無聊,不能用別人的Wifi干壞事哦,法網恢恢疏而不漏!