欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年03月30日 15:41:11   作者:Giopi  
這篇文章主要介紹了如何利用python和DOS獲取wifi密碼,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

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

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

上才藝:

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

netsh wlan show profiles

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

netsh wlan show profiles CMCC-CMCC

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

netsh wlan show profiles CMCC-CMCC key=clear

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

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

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

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

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

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是否存在密鑰”寫進(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)容不是存在的話,說明wifi是沒有密碼的,我們就不用去瞎搞了,直接continue了。如果是存在的話,我們才進(jìn)行下一步操作,就是進(jìn)行下一個(gè)命令:加上key=clear,查看密碼。這里解釋一下為什么要用name[1:],可能是因?yàn)榫幋a的原因,通過正則得來的name前面包含了一個(gè)空格,如果直接用這個(gè)name的話,電腦會(huì)告訴你沒有這個(gè)wifi。例如上文中,我的wifi是“CMCC-CMCC”,當(dāng)是通過正則獲取的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)容打印出來就行了,我把所有代碼跟在后面,方便大家理解。

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('關(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])

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

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

相關(guān)文章

  • Python字符串切片操作知識(shí)詳解

    Python字符串切片操作知識(shí)詳解

    這篇文章主要介紹了Python中字符串切片操作 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • pip安裝tensorflow的坑的解決

    pip安裝tensorflow的坑的解決

    這篇文章主要介紹了pip安裝tensorflow的坑的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 利用python將pdf輸出為txt的實(shí)例講解

    利用python將pdf輸出為txt的實(shí)例講解

    下面小編就為大家分享一篇利用python將pdf輸出為txt的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python安裝PIL模塊時(shí)Unable to find vcvarsall.bat錯(cuò)誤的解決方法

    python安裝PIL模塊時(shí)Unable to find vcvarsall.bat錯(cuò)誤的解決方法

    這篇文章給大家分享了關(guān)于python安裝PIL模塊時(shí)遇到Unable to find vcvarsall.bat錯(cuò)誤的解決方法,相信會(huì)對(duì)不少人有一定的參考借鑒價(jià)值。有需要的朋友們下面來一起看看吧。
    2016-09-09
  • python 查找字符串是否存在實(shí)例詳解

    python 查找字符串是否存在實(shí)例詳解

    這篇文章主要介紹了python 查找字符串是否存在實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • python執(zhí)行js代碼的方法

    python執(zhí)行js代碼的方法

    現(xiàn)在為了防止反爬,前端使用的反爬技術(shù)比較多的是js代碼混淆。python作為爬蟲界的扛把子,免不了和js打交道,因此我們需要了解如何使用Python執(zhí)行js代碼
    2021-05-05
  • Pandas根據(jù)條件實(shí)現(xiàn)替換列中的值

    Pandas根據(jù)條件實(shí)現(xiàn)替換列中的值

    在使用Pandas的Python中,DataFrame列中的值可以通過使用各種內(nèi)置函數(shù)根據(jù)條件進(jìn)行替換,本文主要來和大家討論在Pandas中用條件替換數(shù)據(jù)集列中的值的各種方法,希望對(duì)大家有所幫助
    2024-01-01
  • PyTorch?可視化工具TensorBoard和Visdom

    PyTorch?可視化工具TensorBoard和Visdom

    這篇文章主要介紹了PyTorch?可視化工具TensorBoard和Visdom,TensorBoard?一般都是作為?TensorFlow?的可視化工具,與?TensorFlow?深度集成,它能夠展現(xiàn)?TensorFlow?的網(wǎng)絡(luò)計(jì)算圖,繪制圖像生成的定量指標(biāo)圖以及附加數(shù)據(jù)等,下面來看文章得具體內(nèi)容介紹吧
    2022-01-01
  • kNN算法python實(shí)現(xiàn)和簡(jiǎn)單數(shù)字識(shí)別的方法

    kNN算法python實(shí)現(xiàn)和簡(jiǎn)單數(shù)字識(shí)別的方法

    這篇文章主要介紹了kNN算法python實(shí)現(xiàn)和簡(jiǎn)單數(shù)字識(shí)別的方法,詳細(xì)講述了kNN算法的優(yōu)缺點(diǎn)及原理,并給出了應(yīng)用實(shí)例,需要的朋友可以參考下
    2014-11-11
  • Python從視頻中提取音頻的操作

    Python從視頻中提取音頻的操作

    這篇文章主要介紹了Python從視頻中提取音頻的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評(píng)論