亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何利用python和DOS獲取wifi密碼

瀏覽:75日期:2022-06-23 17:08:01
CMD命令獲取電腦里配置過(guò)的wifi信息

設(shè)定一個(gè)場(chǎng)景,假如我忘記了自家的wifi密碼,這時(shí)候小伙伴來(lái)家里跟我開(kāi)黑,問(wèn)我wifi密碼是多少?我就抓住了這個(gè)小秀一波的機(jī)會(huì)。

上才藝:

按下win+R鍵,輸入CMD打開(kāi)DOS窗口,然后輸入以下命令查看電腦里配置過(guò)的wifi。

netsh wlan show profiles

如何利用python和DOS獲取wifi密碼

這是電腦連過(guò)的wifi,假設(shè)我家里的wifi是CMCC-CMCC,接下來(lái)我需要查看CMCC-CMCC的信息,上代碼:

netsh wlan show profiles CMCC-CMCC

如何利用python和DOS獲取wifi密碼

可以看到,安全密鑰這里顯示的是存在,說(shuō)明這個(gè)wifi是有密碼的,接下來(lái),我們用在上面的代碼基礎(chǔ)上加上'key=clear',密碼就會(huì)顯示了。(不用擔(dān)心這個(gè)clear,不會(huì)刪除你的wifi密碼的,只是一個(gè)顯示作用)

netsh wlan show profiles CMCC-CMCC key=clear

如何利用python和DOS獲取wifi密碼

這個(gè)就是我的wifi密碼了!

用python腳本來(lái)實(shí)現(xiàn)這一操作,并獲取所有配置過(guò)的wifi密碼

首先導(dǎo)入兩個(gè)庫(kù)subprocess、re

subprocess 模塊允許我們啟動(dòng)一個(gè)新進(jìn)程,并連接到它們的輸入/輸出/錯(cuò)誤管道,從而獲取返回值。 re 模塊使 Python 語(yǔ)言擁有全部的正則表達(dá)式功能。

我們建立一個(gè)通道來(lái)執(zhí)行DOS命令,列出所有的連接過(guò)的wifi,并且用profile_names來(lái)存下這些WIFI名稱,輸出采用字典的形式,每個(gè)wifi名和密碼為一個(gè)字典中的鍵值對(duì),并且先定義一個(gè)列表用來(lái)存下這些字典。

command_output = subprocess.run([’netsh’,’wlan’,’show’,’profiles’],capture_output= True).stdout.decode(encoding=’gbk’)profile_names = re.findall(’所有用戶配置文件 :(.*)r’,command_output)#返回一個(gè)列表wifi_list=list()

將下一個(gè)命令即“查看wifi是否存在密鑰”寫(xiě)進(jìn)代碼

if len(profile_names) != 0: for name in profile_names: wifi_profile = dict() profile_info = subprocess.run([’netsh’,’wlan’,’show’,’profiles’,name],capture_output=True).stdout.decode(encoding=’gbk’)

如果安全密鑰的內(nèi)容不是存在的話,說(shuō)明wifi是沒(méi)有密碼的,我們就不用去瞎搞了,直接continue了。如果是存在的話,我們才進(jìn)行下一步操作,就是進(jìn)行下一個(gè)命令:加上key=clear,查看密碼。這里解釋一下為什么要用name[1:],可能是因?yàn)榫幋a的原因,通過(guò)正則得來(lái)的name前面包含了一個(gè)空格,如果直接用這個(gè)name的話,電腦會(huì)告訴你沒(méi)有這個(gè)wifi。例如上文中,我的wifi是“CMCC-CMCC”,當(dāng)是通過(guò)正則獲取的wifi名就是“ CMCC-CMCC”多了一個(gè)空格。電腦會(huì)以為這兩個(gè)東西它不一樣。。。

if re.search(’安全密鑰: 不存在’,profile_info): continue else: wifi_profile[’ssid’] = name[1:] profile_info_pass = subprocess.run([’netsh’,’wlan’,’show’,’profiles’,name[1:],’key=clear’],capture_output=True).stdout.decode(encoding=’gbk’) password = re.search(’關(guān)鍵內(nèi)容 :(.*)r’,profile_info_pass) if password == None:wifi_profile['password']=None else:wifi_profile['password'] = password[1] wifi_list.append(wifi_profile)

最后,只要把列表(wifi_list)中的內(nèi)容打印出來(lái)就行了,我把所有代碼跟在后面,方便大家理解。

import subprocessimport recommand_output = subprocess.run([’netsh’,’wlan’,’show’,’profiles’],capture_output= True).stdout.decode(encoding=’gbk’)profile_names = re.findall(’所有用戶配置文件 :(.*)r’,command_output)wifi_list=list()print(type(profile_names))if len(profile_names) != 0: for name in profile_names: wifi_profile = dict() profile_info = subprocess.run([’netsh’,’wlan’,’show’,’profiles’,name],capture_output=True).stdout.decode(encoding=’gbk’) if re.search(’安全密鑰: 不存在’,profile_info): continue else: wifi_profile[’ssid’] = name[1:] profile_info_pass = subprocess.run([’netsh’,’wlan’,’show’,’profiles’,name[1:],’key=clear’],capture_output=True).stdout.decode(encoding=’gbk’) password = re.search(’關(guān)鍵內(nèi)容 :(.*)r’,profile_info_pass) if password == None:wifi_profile['password']=None else:wifi_profile['password'] = password[1] wifi_list.append(wifi_profile)for x in range(len(wifi_list)): print(wifi_list[x])

如果大家有什么高見(jiàn)請(qǐng)批評(píng)指正

以上就是如何利用python和DOS獲取wifi密碼的詳細(xì)內(nèi)容,更多關(guān)于用python和DOS獲取wifi密碼的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美一区亚洲二区 | 一级特黄特黄xxx视频 | 久久精品视频久久 | 色播影院性播12306影视 | 一品毛片 | 亚洲国产人成在线观看 | 久久青青草原精品国产麻豆 | 特级毛片永久久免费观看 | 日韩字幕| 国产片欧美片亚洲片久久综合 | 成年日韩免费大片黄在线观看 | 欧美抠逼 | 日韩中文字幕免费 | 国产精品久久久久久福利69堂 | 亚洲精品aⅴ一区二区三区 亚洲精品aⅴ中文字幕乱码 | 欧美一区二区三区不卡 | 中国黄色大片 | 欧美在线网 | 国产做a视频免费观看 | 久久免费福利视频 | 亚洲一区在线免费 | 欧美人成片免费看视频不卡 | m3u8久久国产精品影院 | 免费在线观看中文字幕 | 免费国产成人综合 | 色片网址 | 女人16一毛片 | 国产综合成人观看在线 | 99久久爱re热6在播放 | 美国a级黄色片 | 狠狠五月天 | 老司机深夜福利在线观看 | 偷窥自拍清纯唯美 | 6080午夜一级毛片免费看 | 亚洲精品91 | 日韩欧美一区二区久久黑人 | 国产美女啪啪 | 一区二区三区四区国产 | 黄色欧美视频 | yy毛片 | 亚洲国产精品毛片∧v卡在线 |