python實(shí)現(xiàn)獲取電腦所連接的wifi密碼
電腦連接wifi后,很難直觀地看到當(dāng)前連接wifi的密碼,需要借助命令行公管局才可以查看到相關(guān)信息。
CMD命令
查看所有已保存的wifi配置信息
netsh wlan show profiles
查看某一個(gè)wifi的詳細(xì)信息,需要輸入wifi名稱來查詢
netsh wlan show profile name="XXXXXXXXX" key=clear
打開CMD命令行,執(zhí)行上述命令,即可看到相關(guān)信息。
python腳本
CMD命令可以通過python來進(jìn)行調(diào)用,需要一個(gè)模塊,即subprocess。
subprocess.check_output函數(shù)是Python標(biāo)準(zhǔn)庫subprocess模塊中的一個(gè)函數(shù),用于執(zhí)行系統(tǒng)命令并返回命令的輸出結(jié)果。
使用方法如下:
subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, universal_newlines=False)
返回結(jié)果是字符串,也就是執(zhí)行命令返回的信息。
python對(duì)命令執(zhí)行結(jié)果進(jìn)行處理,主要思路如下:
1、執(zhí)行第一個(gè)命令netsh wlan show profiles,獲取到本地保存過的所有的wifi名稱,存入一個(gè)list;
2、遍歷list,去執(zhí)行第二個(gè)命令,得到某一個(gè)wifi的詳細(xì)信息,然后提取出來密碼所在的行信息,保存處理即可。
執(zhí)行結(jié)果如下:
代碼如下:
import subprocess # 執(zhí)行netsh命令獲取Wi-Fi密碼 result = subprocess.check_output('netsh wlan show profiles', shell=True) # print(result) profiles = [] for line in result.split('\n'): if "所有用戶配置文件 :" in line: profiles.append(line.split(':')[1].strip()) for profile in profiles: try: password_result = subprocess.check_output(f'netsh wlan show profile name="{profile}" key=clear', shell=True) # print(password_result) for line in password_result.split('\n'): if "關(guān)鍵內(nèi)容" in line: print('{:<40}{:>30}'.format('WIFI名稱:'+profile,'WIFI密碼:'+line.split(':')[1].strip())) except: print(f'無法獲取{profile}的密碼')
總結(jié)
主要用到了如下知識(shí)點(diǎn):
- 命令獲取wifi信息
- python調(diào)用CMD命令
- python print()輸出格式化,左右對(duì)齊,print('{:<40}{:>30}'.format('aaaaaaaaaaaaa','bbbbbbbbbbb'))
- split(),分片函數(shù),用于分割字符串
- strip(),喲關(guān)于去除頭尾特定字符,默認(rèn)去除頭尾空格
雖然本次實(shí)驗(yàn)僅獲取了wifi信息,但是在其他命令執(zhí)行方面,或許能有更多應(yīng)用場(chǎng)景,甚至開發(fā)出相關(guān)的簡(jiǎn)易工具,有待朋友們進(jìn)一步探索。
到此這篇關(guān)于python實(shí)現(xiàn)獲取電腦所連接的wifi密碼的文章就介紹到這了,更多相關(guān)python獲取wifi密碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django ListView的使用 ListView中獲取url中的參數(shù)值方式
這篇文章主要介紹了django ListView的使用 ListView中獲取url中的參數(shù)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03深入理解Python密碼學(xué)之使用PyCrypto庫進(jìn)行加密和解密
Python中的Pycrypto庫是一個(gè)廣泛使用的密碼學(xué)工具包,它為開發(fā)者提供了多種加密算法,包括著名的RSA加密算法,這篇文章主要給大家介紹了關(guān)于Python密碼學(xué)之使用PyCrypto庫進(jìn)行加密和解密的相關(guān)資料,需要的朋友可以參考下2024-07-07Python實(shí)現(xiàn)簡(jiǎn)單猜拳游戲
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單猜拳游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Tensorflow tensor 數(shù)學(xué)運(yùn)算和邏輯運(yùn)算方式
這篇文章主要介紹了Tensorflow tensor 數(shù)學(xué)運(yùn)算和邏輯運(yùn)算方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-0633個(gè)Python爬蟲項(xiàng)目實(shí)戰(zhàn)(推薦)
這篇文章主要介紹了33個(gè)Python爬蟲項(xiàng)目實(shí)戰(zhàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-07-07