一、介绍

二、安装

pip install pywifi

python 获取网络包 python获取wifi_python 获取网络包


三、函数介绍

1、wifi = pywifi.PyWiFi()
创建对象
2、iface = wifi.interfaces()[0]
获取第一个无线网卡
3、iface.scan()扫描附件wifi
4、wifi = iface.scan_results()
读取wifi扫描结果
5、ifaces.status()
获取wifi连接状态== const.IFACE_CONNECTED或者const.IFACE_INACTIVE是已连接
6、ifaces.name()
获取无线网卡名称
7、ifaces.disconnect()
断开连接
8、ifaces.connect(tmp_profile)
连接指定wifi
9、ifaces.remove_all_network_profiles() 
删除其它配置文件
10、tmp_profile = ifaces.add_network_profile(profile) 
加载配置文件
11、wifi配置
 	profile = pywifi.Profile()                          #配置文件
    profile.ssid = "123_wifi"                           #wifi名称
    profile.auth = const.AUTH_ALG_OPEN                  #需要密码
    profile.akm.append(const.AKM_TYPE_WPA2PSK)          #加密类型
    profile.cipher = const.CIPHER_TYPE_CCMP             #加密单元
    profile.key = "88888888"                            #wifi密码

四、代码示例

import pywifi,time
from pywifi import const

def wifi_connect_status():
    wifi = pywifi.PyWiFi()          #创建wifi对象
    iface = wifi.interfaces()[0]    #获取第一个无线网卡
 
    if iface.status() in [const.IFACE_CONNECTED,const.IFACE_INACTIVE]:
        print("wifi connected!")
        return 1
    else:
        print("wifi not connected!")
    
    return 0

def scan_wifi():
    wifi = pywifi.PyWiFi()          #创建wifi对象
    iface = wifi.interfaces()[0]    #获取第一个无线网卡
 
    iface.scan()
    time.sleep(1)
    wifiresults = iface.scan_results()
    print("wifi scan result:")
    
    for i in wifiresults:
        print("ssid:{}".format(i.ssid))
        print("MAC address:{}".format(i.bssid))
        
    return wifiresults

def connect_wifi():
    wifi = pywifi.PyWiFi()             #创建wifi对象
    ifaces = wifi.interfaces()[0]      #获取第一个无线网卡
    print(ifaces.name())               #输出无线网卡名称
    ifaces.disconnect()                #断开连接
    time.sleep(3)
 
    profile = pywifi.Profile()                          #配置文件
    profile.ssid = "guoguo513"                        #wifi名称
    profile.auth = const.AUTH_ALG_OPEN                  #需要密码
    profile.akm.append(const.AKM_TYPE_WPA2PSK)          #加密类型
    profile.cipher = const.CIPHER_TYPE_CCMP             #加密单元
    profile.key = "huang123321"                            #wifi密码
 
    ifaces.remove_all_network_profiles()                #删除其它配置文件
    tmp_profile = ifaces.add_network_profile(profile)   #加载配置文件
    ifaces.connect(tmp_profile)     #连接wifi
    time.sleep(5)
    isok = True
 
    if ifaces.status() == const.IFACE_CONNECTED:
        print("connect successfully!")
    else:
        print("connect failed!")
 
    time.sleep(1)
    return isok


def main():
    wifi_connect_status()
    scan_wifi()
    connect_wifi()
main()

五、结果

python 获取网络包 python获取wifi_网络_02