首页 > 其他分享 >pywifi模块

pywifi模块

时间:2022-10-31 10:48:02浏览次数:42  
标签:profile const ifaces wifi pywifi 模块 TYPE

pywifi模块

pywifi的介绍与下载

1.介绍:pywifi是在python中一个用于操作无线接口的模块,可以跨平台使用,Windows和Linux都支持

2.下载:①pip下载:打开命令提示符,输入下载命令:

    pip install pywifi
    由于此模块基于comtypes模块,因此同时需要下载此模块:

    pip install comtypes
    对于PyCharm,则直接下载两个模块即可

pywifi基础

#  引入pywifi库及所带常量库
import pywifi
from pywifi import const, Profile
 
#  1. 基础
 
#  获取网卡接口
wifi = pywifi.PyWiFi()
 
#  得到第一个无线网卡
ifaces = wifi.interfaces()[0]
 
#  切断网卡连接
ifaces.disconnect()
 
#  获取wifi的连接状态
wifistatus = ifaces.status()
 
#  检查wifi是否处于切断状态
if wifistatus == const.IFACE_DISCONNECTED:
 
    #  网卡已被切断
 
    pass
 
#  如果网卡没有被切断
#  或者使用 " if wifistatus == const.IFACE_CONNECTED: "
 
else:
 
    #  已连接wifi
 
    pass
 
#  如果已经切断网卡,一般执行下述操作
if wifistatus == const.IFACE_DISCONNECTED:
 
    #  设置wifi连接文件
    profile: Profile = pywifi.Profile()
 
    #  你要连接的网络的名称
    profile.ssid = "    "
 
    #  网卡的开放状态
    #  " Auth - AP "的验证算法
    profile.auth = const.AUTH_ALG_OPEN
 
    #  wifi的加密算法
    #  通常的加密算法值为 " WPA "
    #  选择wifi的加密方式
    #  " Akm - AP "的密钥管理
    profile.akm.append(const.AKM_TYPE_WPA2PSK)
 
    #  加密单元
    #  " Cipher - AP "的密码类型
    profile.cipher = const.CIPHER_TYPE_CCMP
 
    #  设置密码
    password = "   "
 
    #  回调密码(wifi密码)
    #  如果没有密码,则设置值为 " CIPHER_TYPE_NONE "
    profile.key = password
 
    #  删除已连接的所有wifi文件
    ifaces.remove_all_network_profiles()
 
    #  加载新的wifi连接文件
    tep_profile = ifaces.add_network_profile(profile)
 
    #  连接上面的wifi文件
    ifaces.connect(tep_profile)
 
    #  如果wifi已连接
    if ifaces.status() == const.IFACE_CONNECTED:
 
        print(True)
 
    #  如果仍未连接
    else:
 
        print(False)

pywifi详细讲解

#  2.提高
 
#  获取wifi接口名称
name = ifaces.name()
 
#  扫描wifi ( AP )
ifaces.scan()
 
#  查看上面的wifi扫描结果 ( 返回值为列表 )
result = ifaces.scan_results()
 
#  删除所有的AP配置文件
#  目的是为了接下来的连接
ifaces.remove_all_network_profiles()
 
#  返回配置文件的列表
files = ifaces.network_profiles()
 
#  设置配置文件的名字
ifaces.add_network_profile(profile)
 
#  连接wifi
ifaces.connect(profile)
 
#  断开wifi
ifaces.disconnect()
 
#  wifi的连接状态
ifaces.status()
 
#  配置文件
profile = pywifi.Profile()
 
#  配置文件的方法
#  ssid  auth  akm  cipher  key
#  这些的详细讲解可看基础
 
 
#  pywifi中const的量
 
#  const.IFACE_DISCONNECTED = 0
#  const.IFACE_SCANNING = 1
#  const.IFACE_INACTIVE = 2
#  const.IFACE_CONNECTING = 3
#  const.IFACE_CONNECTED = 4
 
#  Auth - AP
var1 = const.AUTH_ALG_OPEN
var2 = const.AUTH_ALG_SHARED
 
#  Akm - AP
#  不安全的方法
var3 = const.AKM_TYPE_NONE
#  WPA的方法
var4 = const.AKM_TYPE_WPAPSK
#  WPA2的方法
var5 = const.AKM_TYPE_WPA2PSK
#  对于企业的方法
var6 = const.AKM_TYPE_WPA
var7 = const.AKM_TYPE_WPA2
 
#  Cipher - AP
var8 = const.CIPHER_TYPE_NONE  
var9 = const.CIPHER_TYPE_WEP
var10 = const.CIPHER_TYPE_TKIP
var11 = const.CIPHER_TYPE_CCMP

标签:profile,const,ifaces,wifi,pywifi,模块,TYPE
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/16843497.html

相关文章

  • struct模块
    struct模块该模块可以把一个类型,如数字,转成固定长度的bytesimportstructstruct.pack('模式',data)''' data:表示想要转换成固定长度的数据 struct.pack是将我们......
  • 11.异常处理与模块
    异常处理当检测到⼀个错误时,解释器就⽆法继续执⾏了,反⽽出现了⼀些错误的提示,这就是所谓的"异常"。python提供了两个非常重要的功能来处理python程序在运行中出现的异常......
  • 使用SOUI4的脚本模块
    SOUI4.1提供了全新的lua脚本模块支持,使用这个新版本的脚本模块,可以轻松将所有UI布局及业务逻辑全部使用XML+LUA实现,基本上就是一个超轻型浏览器。SOUI4.0相对于SOUI3最大......
  • 第三方模块的下载与使用
    目录一、第三方模块的下载与使用下载第三方模块的方式一:pip工具部分错误解决案例:下载第三方模块的方式二:pycharm中下载pip仓库地址一、第三方模块的下载与使用第三方模......
  • 记一次拆分前后端模块部署Jar过程
    背景单体应用,前端使用React框架,静态资源(JS,CSS等)都放在​​src\main\resources\static​​目录下面:.babelrc.gitignore.mvnnode_modulespackage-lock.jsonpackage.jsonpom.xm......
  • pip安装模块出现pip is configured with locations that require TLS/SSL问题
    pip安装模块出现pipisconfiguredwithlocationsthatrequireTLS/SSL问题原因有可能你的python解释器是编译安装的,因为编译安装比较纯净,在安装的时候没有指定ssl这个......
  • 在线问题反馈模块实战(二十一):完结篇
    ......
  • CBAM: 卷积注意力模块的学习、实现及其应用
    简介ConvolutionalBlockAttentionModule(CBAM),卷积注意力模块。该论文发表在ECCV2018上(论文地址),这是一种用于前馈卷积神经网络的简单而有效的注意力模块。CBAM融合了......
  • 3.1 处理Excel文件的相关模块介绍及安装 openpyxl模块
    openpyxl模块安装方式在线安装方式:Windows用户:pipinstallopenpyxlMac用户:pip3installopenpyxl测试Windows用户打开命令行输入pythonMac用户打开终端......
  • angular入门篇8----Http模块的使用(2):使用接口
    angular入门篇8----Http模块的使用(2):使用接口1.创建Http服务1.1注册HttpClientModule模块我们需要在model.module.ts中注册HttpClientModule模块:\Store\src\app\mod......