欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中pywifi模塊的基本用法講解

 更新時(shí)間:2022年11月28日 15:46:13   作者:gc_2299  
跨平臺(tái)的pywifi模塊支持操作無(wú)線網(wǎng)卡,該模塊易于使用,同時(shí)支持Windows、Linux等多個(gè)系統(tǒng),這篇文章主要介紹了Python中pywifi模塊的基本用法,需要的朋友可以參考下

  跨平臺(tái)的pywifi模塊支持操作無(wú)線網(wǎng)卡,該模塊易于使用,同時(shí)支持Windows、Linux等多個(gè)系統(tǒng)。pywifi模塊不是Python的標(biāo)準(zhǔn)模塊,需單獨(dú)安裝,同時(shí)該模塊依賴comtypes模塊,最好同時(shí)安裝comtypes模塊,否則調(diào)用pywifi的函數(shù)時(shí)可能會(huì)報(bào)錯(cuò)。

pip install comtypes
pip install pywifi

  pywifi模塊中的類(lèi)不算太多,其中主要用到的類(lèi)包括PyWiFi、Profile、Interface等,詳述如下:
  PyWiFi類(lèi)用于操作無(wú)線設(shè)備,該類(lèi)的主要函數(shù)interfaces返回可用的無(wú)線網(wǎng)卡集合,也即Interface對(duì)象集合。
  Profile類(lèi)表示無(wú)線接入點(diǎn)(AP),也即無(wú)線網(wǎng)卡搜索出的無(wú)線連接,一個(gè)Profile對(duì)象表示一個(gè)可以連接或可用的無(wú)線連接,Profile類(lèi)的主要屬性如下表所示:

序號(hào)屬性名說(shuō)明
1ssid無(wú)線網(wǎng)絡(luò)名稱
2auth認(rèn)證算法,包括AUTH_ALG_OPEN、.AUTH_ALG_SHARED兩種,默認(rèn)為AUTH_ALG_OPEN,關(guān)于認(rèn)證算法的介紹詳見(jiàn)參考文獻(xiàn)5
3akm授權(quán)密鑰管理方式,包括AKM_TYPE_NONE、AKM_TYPE_WPA、AKM_TYPE_WPAPSK、AKM_TYPE_WPA2、AKM_TYPE_WPA2PSK、AKM_TYPE_UNKNOWN,默認(rèn)為AKM_TYPE_NONE,關(guān)于授權(quán)密鑰管理方式詳見(jiàn)參考文獻(xiàn)6-7
4cipher密碼類(lèi)型,包括CIPHER_TYPE_NONE、CIPHER_TYPE_WEP、CIPHER_TYPE_TKIP、CIPHER_TYPE_CCMP、CIPHER_TYPE_UNKNOWN,默認(rèn)為CIPHER_TYPE_NONE
5key無(wú)線網(wǎng)絡(luò)連接密碼,如果密碼類(lèi)型不未CIPHER_TYPE_NONE,則應(yīng)設(shè)置本屬性值

  ;Interface類(lèi)用于執(zhí)行無(wú)線網(wǎng)絡(luò)操作,主要包括以下函數(shù):

序號(hào)函數(shù)名說(shuō)明
1name獲取無(wú)線網(wǎng)卡名稱
2scan調(diào)用無(wú)線網(wǎng)卡掃描可用的無(wú)線網(wǎng)絡(luò)(AP)
3scan_results獲取scan函數(shù)的掃描結(jié)果,返回的是Profile對(duì)象列表
4add_network_profile添加特定無(wú)線網(wǎng)絡(luò)(AP)以便后續(xù)連接
5remove_network_profile移除指定的無(wú)線網(wǎng)絡(luò)(AP)
6remove_all_network_profiles移除所有無(wú)線網(wǎng)絡(luò)(AP)
7network_profiles獲取保存的所有無(wú)線網(wǎng)絡(luò)(AP)
8connect連接指定的無(wú)線網(wǎng)絡(luò)(AP)
9disconnect斷掉當(dāng)前無(wú)線網(wǎng)絡(luò)連接
10status獲取當(dāng)前無(wú)線網(wǎng)絡(luò)連接狀態(tài)

  最后是照著參考文獻(xiàn)3編寫(xiě)的測(cè)試程序(測(cè)試前請(qǐng)確保已記住當(dāng)前計(jì)算機(jī)連接的wifi密碼)

import pywifi

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

print('interface name: ',iface.name())
print('interface status: ',iface.status())

iface.disconnect()
print('interface status: ',iface.status())

profile = pywifi.Profile()
profile.ssid = "XXXXXXX"
profile.auth = pywifi.const.AUTH_ALG_OPEN 
profile.akm.append(pywifi.const.AKM_TYPE_WPA2PSK)
profile.cipher = pywifi.const.CIPHER_TYPE_CCMP
profile.key = 'XXXXXXX'
iface.remove_all_network_profiles()
tep_profile = iface.add_network_profile(profile)
iface.connect(tep_profile)

sleep(5)
print('interface status: ',iface.status())

參考文獻(xiàn)
[1]https://github.com/awkman/pywifi
[2]https://github.com/awkman/pywifi/blob/master/DOC.md
[3]https://blog.csdn.net/Feng_liangmu/article/details/122911002
[4]https://docs.python.org/zh-cn/3/index.html
[5]https://www.likecs.com/show-655827.html
[6]https://www.likecs.com/show-655827.html
[7]https://code84.com/739564.html

到此這篇關(guān)于Python中pywifi模塊的基本用法的文章就介紹到這了,更多相關(guān)Python pywifi模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論