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