亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中使用DOS獲取wifi密碼

發布時間:2021-03-31 16:37:11 來源:億速云 閱讀:161 作者:Leah 欄目:開發技術

怎么在python中使用DOS獲取wifi密碼?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

CMD命令獲取電腦里配置過的wifi信息

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

netsh wlan show profiles

怎么在python中使用DOS獲取wifi密碼

這是電腦連過的wifi,假設我家里的wifi是CMCC-CMCC,接下來我需要查看CMCC-CMCC的信息,上代碼:

netsh wlan show profiles CMCC-CMCC

怎么在python中使用DOS獲取wifi密碼

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

netsh wlan show profiles CMCC-CMCC key=clear

怎么在python中使用DOS獲取wifi密碼

這個就是我的wifi密碼了!

用python腳本來實現這一操作,并獲取所有配置過的wifi密碼

首先導入兩個庫subprocess、re

  • subprocess 模塊允許我們啟動一個新進程,并連接到它們的輸入/輸出/錯誤管道,從而獲取返回值。

  • re 模塊使 Python 語言擁有全部的正則表達式功能。

我們建立一個通道來執行DOS命令,列出所有的連接過的wifi,并且用profile_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:]
      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)

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

import subprocess
import re
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()
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])

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民和| 贵州省| 古丈县| 郧西县| 岑巩县| 乌拉特后旗| 如东县| 隆昌县| 洪雅县| 响水县| 靖远县| 卢龙县| 郁南县| 江阴市| 马龙县| 东丰县| 韶关市| 临西县| 禹州市| 祥云县| 兖州市| 肃宁县| 通化市| 龙南县| 汉中市| 英吉沙县| 南靖县| 静海县| 阿拉善左旗| 仙居县| 晋宁县| 南川市| 平顶山市| 高唐县| 德化县| 孟连| 大足县| 嘉定区| 同心县| 遂川县| 霸州市|