怎么用python破解wifi密码?

简介: 破解wifi密码


今天,跟大家分享一个有意思的案例:如何使用Python暴力破解WiFi密码

image.png

不多说什么直接开始~

如何暴力破解

我们知道,计算机相比人类,最大的优势就是它能够重复性执行一些任务,但它永远不会感觉累(我们假定它一直不断电)。

image.png

我们破解WiFi密码也会利用计算机的这个优点。

image.png

先来思考这样一个问题:日常我们登录计算机系统时,如果你的计算机设置了密码,就需要输入密码才能进入系统。这个输入密码的过程就是一个完整的身份验证过程。
image.png

计算机有没有欢迎界面,我这里不是很清楚。

image.png

但上面流程图中绿色框选部分,不同的系统验证机制不一样。比如,有的系统可能验证到错误3次之后,暂停输入n分钟,这样来阻碍暴力破解进度。
image.png

对于这样的系统,暴力破解难度就有点大了。暴力的方式很难破解!

 image.png

对于登录失败后,没有对登录次数进行验证的系统,我们可以使用暴力破解。 

image.png

验证登录错误次数的过程其实是我们在系统易用性安全性上面做的取舍。

 image.png

如果不验证登录次数,对于使用者来讲,可能更方便;但如果验证登录错误次数,有时候将一个合法用户拒之门外,那么,虽然安全性增强了,但系统易用性会大打折扣。
image.png

需要干什么

任何时候,都不能忘记我们的目的!我们是要暴力破解。问题来了,我们那什么破解呢?这里,我们需要一个暴力破解的字典!
image.png

举个例子,这个过程就像是把密码当作一条我们梦寐以求的鱼儿,这里我们需要一个装满鱼儿的池塘,这里的池塘就是我们的密码字典。现在必须要乐观一点(不乐观又能怎么样?你又不知道你的鱼儿在哪里,万一撞上了呢?),所以,我们假定鱼儿就在池塘里面。
image.png

此时,我们挨个儿将池塘里面的鱼儿捞出来。如果鱼儿是我们要找的,那么故事的结局皆大欢喜,我们用找到的密码免费上了网!
image.png

如果不是,我们将鱼儿扔掉(为排除干扰,是不是扔远一点比较好,但这不是关键!),继续捞下一条,直到找到对的鱼!对于鱼儿来讲,这样是不是很暴力?
image.png

好吧,原来艮在这里!道理讲清楚了,现实往往很残酷!我们要在池塘里面找到心目中那条鱼儿,确实很难!因为我们并不知道这个池塘够不够大……其实,不确定因素还有很多。
image.png

现在,我们来解决一个最基本的问题,用什么来捕鱼并进行验证?这里我们需要一个捕鱼和验证鱼儿的工具!

好了,我们开始准备工具吧!
image.png

构造池塘:暴力破解字典

Python处理这类问题,很是简单,我们提供一个思路即可,源代码获取方式附后,大家自己敲代码试试!
image.png

这里我们就生成了一些密码本字典,当然这里可选的范围太多了,如果想要提高找到的概率,字典越大越好;但这里需要处理矛盾,字典大的话,说明池塘大,我们捞鱼的速度显示成了一个问题。
image.png

好了,池塘有了,我们开始捞鱼并验证。

捕鱼并验证:Python用什么来验证WiFi密码?

池塘总算有了。鱼儿是心目中的鱼儿,我们并没有见过它。它唯一的特征是能够和你的硬件进行连接,有一种怦然心动的感觉(假设怦然心动是验证连接成功的指标)。我们先来练习捕鱼的技巧。
image.png

捕鱼技巧(逐行读取密码文件并验证)

很简单,逐行读取我们刚才生成的密码字典(池塘中的鱼儿)
image.png

这里的wifiConnect(passwd)函数用来验证捞出来的鱼儿是不是我们想要的(密码是否正确)。这一步很关键,需要利用第三方模块pywifi实现。
image.png

第三方模块pywifi(操作wifi)

这个模块需要安装

pip install pywifi -i 国内镜像源

这里安装pywifi成功后,运行程序可能出现下面的错误,直接安装comtypes模块即可解决该问题。
image.png

这里需要实现wifi连接并认证的过程,后面会有源代码,小伙伴自己看看吧。说不定哪天出来一个更简单点的。
image.png

别着急,下面会有源代码获取方式。这段代码有注释,我就不逐行解释了。总之,它实现了验证连接的功能,很重要的一步哦!
image.png

到这里,我们的任务基本完成了。有没有捕到大鱼、捕获的大鱼是不是我们想要的,很大程度上取决于个人人品(当然,恒心很重要)。但总体来讲,暴力破解是个笨办法。

下面,我们验证下程序是否能实现暴力破解wifi密码的功能。

小试牛刀

按照下面的步骤,我们搭建一个wifi环境。
image.png

打开热点,点击设置
image.png

设置热点的名称和密码

利用手机搭建一个wifi环境。为了节省时间,我们将设置的wifi密码添加到生成的密码字典中(添加到第8行)。image.png

将刚才设置的密码添加到密码字典中

下面,我们来跑一下程序,看看效果。这里有一点小改动,我们将wifi名称改为了test。然后,wifiConnect(sid='test')函数中将wifi名称传入进去。
image.png

电脑成功连接手机热点

电脑上显示已成功连接test这个热点
image.png

连接成功!除了速度有点慢,没有其它毛病。wifi密码设置过于简单的小伙伴赶紧改一下!此文只探讨技术,莫作他用,否则后果自负!

需要说明的是,源代码中,我直接把sid赋值为“test”(需暴力破解的wifi名称)。这里小伙伴可以参照修改下。

image.png

对于文章内容有任何疑问,欢迎留言讨论

相关文章
|
2月前
|
供应链 数据挖掘 数据处理
聚合数据,洞察未来!Python聚合术,解锁数据背后的商业密码!
在数据泛滥的时代,数据聚合成为企业决策的关键。它通过整合不同来源的数据,揭示隐藏规律与趋势,为科学决策提供依据。Python凭借其丰富的库如Pandas和NumPy,在数据聚合中表现出色,简化了数据处理流程。通过示例展示了如何使用Pandas对销售数据进行聚合分析,帮助企业优化库存管理、调整策略,预测需求,在竞争中脱颖而出。
45 5
|
26天前
|
存储 数据安全/隐私保护 Python
Python编程--使用Ftplib破解FTP用户口令的方法
Python编程--使用Ftplib暴力破解FTP用户口令
12 0
|
2月前
|
存储 安全 算法
RSA在手,安全我有!Python加密解密技术,让你的数据密码坚不可摧
【9月更文挑战第11天】在数字化时代,信息安全至关重要。传统的加密方法已难以应对日益复杂的网络攻击。RSA加密算法凭借其强大的安全性和广泛的应用场景,成为保护敏感数据的首选。本文介绍RSA的基本原理及在Python中的实现方法,并探讨其优势与挑战。通过使用PyCryptodome库,我们展示了RSA加密解密的完整流程,帮助读者理解如何利用RSA为数据提供安全保障。
90 5
|
2月前
|
安全 数据安全/隐私保护 Python
情书也能加密?Python AES&RSA,让每一份数据都充满爱的密码
【9月更文挑战第8天】在这个数字化时代,情书不再局限于纸笔,也可能以电子形式在网络中传递。为了确保其安全,Python提供了AES和RSA等加密工具,为情书编织爱的密码。首先,通过安装pycryptodome库,我们可以利用AES对称加密算法高效保护数据;接着,使用RSA非对称加密算法加密AES密钥和IV,进一步增强安全性。即使情书被截获,没有正确密钥也无法解读内容。让我们用Python为爱情编织一张安全的网,守护每份珍贵情感。
44 2
|
3月前
|
数据安全/隐私保护 Python
Python 解压还密码的压缩文件 LookupError: Couldn't find path to unrar library.
Python 解压还密码的压缩文件 LookupError: Couldn't find path to unrar library.
55 2
|
3月前
|
安全 数据安全/隐私保护 Python
【Leetcode刷题Python】密码校验
文章提供了一个Python程序,用于验证密码是否符合特定的安全标准,包括密码长度至少为6,数字字符个数少于字母字符个数,没有连续5个字符是字母,以及没有连续两个字符是一模一样的,并输出每个密码是否符合这些条件。
25 3
|
3月前
|
安全 数据安全/隐私保护 Python
|
4月前
|
供应链 数据挖掘 数据处理
聚合数据,洞察未来!Python聚合术,解锁数据背后的商业密码!
【7月更文挑战第19天】数据聚合整合分散数据,揭示隐藏模式,助力企业决策。Python的Pandas与NumPy库简化了这一过程,提供高效的数据处理。例如,通过Pandas的groupby和agg函数,可以按产品ID和日期聚合销售数据,计算每日销量和收入。聚合后,企业可洞察产品销售趋势、季节性变化,优化策略,预测需求。Python丰富的资源和活跃社区支持各层次用户进行数据探索。
65 7
|
3月前
|
数据采集 JSON 数据处理
基于Python的B站(哔哩哔哩)视频评论采集,可破解反爬手段,想爬几条爬几条
本文介绍了一个基于Python的B站(哔哩哔哩)视频评论采集工具,能够通过输入视频的av号、BV号或链接,并使用特定的cookie和请求头信息来绕过反爬手段,实现大规模的评论数据采集,并支持将数据解析并保存为CSV格式。