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

2022-09-28 06:30:17 字數 3047 閱讀 6710

設定乙個場景,假如我忘記了自家的wifi密碼,這時候小夥伴來家裡跟我開黑,問我wifi密碼是多少?我就抓住了這個小秀一波的機會。

上才藝:

按下win+r鍵,輸入cmd開啟dos視窗,然後輸入以下命令檢視電腦裡配置過的wifi。

netsh wlan show profiles

這是電腦連過的wifi,假設我家裡的wifi是cmcc-cmcc,接下來我需要檢視cmcc-cmcc的資訊,上**:

netsh wlan show profiles cmcc-cmcc

可以看到,安全金鑰這裡顯示的是存在,說明這個wifi是有密碼的,接下來,我們用在上面的**基礎上加上"key=clear",密碼就會顯示了。(不用擔心這個clear,不會刪除你的wifi密碼的,只是乙個顯示作用)

netsh wlan show profiles cmcc-cmcc key=clear

這個就是我的wifi密碼了!

首先匯入兩個庫subprocess、re

我們建立乙個通道來執行dos命令,列出所有的連線過的wifi,並且用pwww.cppcns.comrofile_names來存下這些wifi名稱,輸出採用字典的形式,每個wifi名和密碼為乙個字典中的鍵值對,並且先定義乙個列表用來存下這些字典。

command_output = subprocess.run(['netsh','wlan','show','profiles'],capture_output= true).stdout.decode(encoding='gbk')

profile_names = re.findall('所有使用者配置檔案 :(.*)\r',command_output)#返回乙個列表

wifi_list=list()

將下乙個命令即「檢視wifi是否存在金鑰」寫進**

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')

如果安全金鑰的內容不是存在的話,說明wifi是沒有密碼的,我們就不用去瞎搞了,直接continue了。如果是存在的話,我們才進行下一步操作,就是進行下乙個命令:加上key=clear,檢視密碼。這裡解釋一下為什麼要用name[1:],可能是因為編碼的原因,通過正則得來的name前面包含了乙個空格,如果直接用這個name的話,電腦會告訴你沒有這個wifi。例如上文中,我的wifi是「cmcc-cmcc」,當是通過正則獲取的wifi名就是「 cmcc-cmcc」多了乙個空格。電腦會以為這兩個東西它不一樣。。。

if re.search('安全金鑰 : 不存在',profile_info):

continue

else:

wifi_profile['ssid'] = name[1:]

prof程式設計客棧ile_info_pass = subprocess.run(['netsh','wlan','show','profiles',name[1:],'key=clear'],capture_output=true).stdout.decode(encoding='gbk')

password = re.search('關鍵內容 :(.*)\r',profile_info_pass)

if password == none:

wifi_profile["password"]=none

else:

wifi_profile["password"] = password[1]

wifi_list.append(wifi_profile)

最後,只要把列表(wifi_list)中的內容列印出來就行了,我把所有**跟在後面,方便大家理解。

import subprocess

import re

command_output = subprocess.run(['netsh','wlan','showwmbqbm','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('關鍵內容 :(.*)\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])

如果大家有什麼高見請批評指正

利用python和DOS獲取wifi密碼

設定乙個場景,假如我忘記了自家的wifi密碼,這時候小夥伴來家裡跟我開黑,問我wifi密碼是多少?我就抓住了這個小秀一波的機會。上才藝 按下win r鍵,輸入cmd開啟dos視窗,然後輸入以下命令檢視電腦裡配置過的wifi。這是電腦連過的wifi,假設我家裡的wifi是cmcc cmcc,接下來我需...

景區如何利用小程式免費獲流

對於一般中小型景區來說,有好的資源,好的產品,但是景區就是沒有流量,面臨巨大的壓力,景區要想辦法獲得客流量,才能很好的生存下去。移動網際網路時代,最不缺的就是流量,只要掌握好技巧,找對運營方式,那麼對於景區來說,很容易獲取流量。這裡思途智旅為大家介紹幾種適合景區獲取流量的方式。1 抖音平台 2 社交...

python程式設計星期幾 python如何獲取星期幾

以2019年9月19日為例 import time import datetime if name main today int time.strftime w anyday datetime.datetime 2019,9,19 strftime w print anyday 執行效果圖如下 下面...