Python如何實(shí)現(xiàn)查看WiFi密碼券躁?

由于最近公司加強(qiáng)對(duì)無(wú)線安全的管理,wifi密碼從以前的12345678掉盅,變成復(fù)雜難記的一串也拜,導(dǎo)致我時(shí)常忘記WIFI密碼,而遭受同事的“毒打”趾痘。由于我不是那種喜歡打擾同事認(rèn)真工作的人慢哈,于是,我決定用python來(lái)試試永票,看看能不能讀取到已連接過(guò)WIFI的密碼卵贱,這樣就不用老是叨擾別人了!

hahah

1. windows查看WIFI密碼的方法

經(jīng)過(guò)我的一番思考和查閱資料(搜索引擎)侣集,原理大致是這樣键俱。
通過(guò)windows的wifi屬性查看密碼。這種方式世分,操作起來(lái)相當(dāng)麻煩编振,一般人根本找不到。即使第一次找到了臭埋,找第二次也要折磨死人踪央。

windows查看wifi密碼

另外,我們可以使用命令行來(lái)實(shí)現(xiàn)上述操作:

netsh wlan show profiles

列出已連接wifi的列表
然后再使用命令 ``netsh wlan show profiles WiFi名稱 key=clear:

netsh wlan show profiles ZXQ key=clear

查看安全設(shè)置獲得密碼:

安全設(shè)置

上面的方式瓢阴,仍然比較麻煩畅蹂,對(duì)于我這種懶人來(lái)說(shuō),實(shí)在是有點(diǎn)聒噪炫掐!我就想快速的查看密碼魁莉,不要輸入!

想到python也可以執(zhí)行cmd命令募胃,那么第二種命令行的方式握侧,不就可以用python來(lái)實(shí)現(xiàn)了嗎弟胀?!

2. 使用subprocess模塊

subprocessPython標(biāo)準(zhǔn)庫(kù)中的一個(gè)模塊,用于在Python程序中執(zhí)行外部命令或子進(jìn)程湖笨。它可以通過(guò)創(chuàng)建子進(jìn)程并與其進(jìn)行通信屯蹦,來(lái)調(diào)用系統(tǒng)命令或其他可執(zhí)行文件宣蠕。

subprocess模塊提供了多個(gè)函數(shù)來(lái)調(diào)用子進(jìn)程,如subprocess.run()夺溢、subprocess.Popen()等。這些函數(shù)可以執(zhí)行命令并返回執(zhí)行結(jié)果烛谊,也可以通過(guò)傳遞參數(shù)和讀取標(biāo)準(zhǔn)輸入輸出進(jìn)行進(jìn)程間的通信风响。

import subprocess

def get_wifi_password():
    # 調(diào)用系統(tǒng)命令,獲取WiFi密碼
    result = subprocess.check_output(['netsh', 'wlan', 'show', 'profile'])
    result = result.decode('gbk')  # 將命令輸出轉(zhuǎn)換為字符串

    # 提取WiFi名稱
    profiles = [i.split(':')[1][1:-1] for i in result.split('\n') if '所有用戶配置文件' in i]

    # 獲取各個(gè)WiFi網(wǎng)絡(luò)的密碼
    passwords = []
    for profile in profiles:
        password = subprocess.check_output(['netsh', 'wlan', 'show', 'profile', 'name=' + profile, 'key=clear'])
        password = password.decode('gbk')  # 轉(zhuǎn)換為字符串
        password = [i.split(':')[1][1:-1] for i in password.split('\n') if '關(guān)鍵內(nèi)容' in i]
        passwords.append((profile, password[0]))

    return passwords

# 調(diào)用函數(shù)獲取WiFi密碼
wifi_passwords = get_wifi_password()

# 打印WiFi名稱和密碼
for wifi in wifi_passwords:
    print(f'WiFi名稱:{wifi[0]}丹禀,密碼:{wifi[1]}')

python查看wifi密碼

Got it!, 有了這個(gè)腳本状勤,這不就是點(diǎn)一下的事么。在這個(gè)示例代碼中双泪,我們使用subprocess.check_output 函數(shù)調(diào)用了 netsh 命令來(lái)獲取已連接WiFi網(wǎng)絡(luò)的信息持搜。獲取到的信息中包含WiFi網(wǎng)絡(luò)的名稱和密碼。

送給公司行政的小姐姐用焙矛,下次她見(jiàn)到我葫盼,不得叫一聲大哥?

3. pywifi模塊暴力破解

PyWifi 是一個(gè)用于操作WiFi的第三方庫(kù)村斟,提供了方便的API以獲取WiFi信息贫导。其本身并不支持獲取已連接過(guò)的wifi的密碼。該庫(kù)主要用于連接蟆盹、斷開(kāi)以及掃描wifi網(wǎng)絡(luò)脱盲。

首先,我們需要使用pip命令來(lái)安裝pywifi庫(kù):

pip install pywifi

由于此模塊基于 comtypes 模塊日缨,因此同時(shí)需要下載此模塊:

pip install comtypes

使用 PyWifi,首先我們需要?jiǎng)?chuàng)建一個(gè)PyWifi 對(duì)象:

#-*-coding:utf-8-*-
import pywifi,time
from pywifi import const

def scan_wifi():
    wifi = pywifi.PyWiFi()
    iface = wifi.interfaces()[0] #acquire the first Wlan card,maybe not
    iface.scan() # 掃描wifi
    time.sleep(1) # 休息一下
    basewifi = iface.scan_results()
 
    for i in basewifi:
        print("wifi scan result:{}".format(i.ssid))
        print("wifi device MAC address:{}".format(i.bssid))
        
        # 嘗試連接wifi
        profile = pywifi.Profile()                          #配置文件
        profile.ssid = i.ssid                        #wifi名稱
        profile.auth = const.AUTH_ALG_OPEN                  #需要密碼
        profile.akm.append(const.AKM_TYPE_WPA2PSK)          #加密類型
        profile.cipher = const.CIPHER_TYPE_CCMP             #加密單元
        profile.key = gen_key()                            #wifi密碼
        
        iface.remove_all_network_profiles()                #刪除其它配置文件
        tmp_profile = iface.add_network_profile(profile)   #加載配置文件
        iface.connect(tmp_profile)
        time.sleep(5)
        if iface.status() == const.IFACE_CONNECTED:
            print("connect successfully!")
        else:
            print("connect failed!")
        time.sleep(1)
    return basewifi

def gen_key():
    # 生成wifi破解密碼掖看,通用做法是讀取密碼字典庫(kù)
    pass

if __name__ == '__main__':
    scan_wifi()

因此匣距,小伙伴們要當(dāng)心哦,wifi密碼設(shè)置要復(fù)雜哎壳!否則被人偷用網(wǎng)絡(luò)都不知道哦毅待!
當(dāng)然咯,這個(gè)暴力破解的方法耗時(shí)也不穩(wěn)定归榕,而且也不一定正確尸红,本文只是從技術(shù)角度來(lái)闡述如何使用Python來(lái)玩WIFI, 并不建議大家做任何破壞性的操作和任何不當(dāng)?shù)男袨椤?/p>

上一篇:Python中的交互式數(shù)據(jù)可視化工具Streamlit

4.總結(jié)

為了能夠快速查看 Wi-Fi 密碼刹泄,我們介紹了兩種方法:一種是通過(guò) Windows 的 Wi-Fi 屬性查看密碼外里,另一種是使用Python 中的 subprocess 模塊來(lái)執(zhí)行命令行獲取密碼;

另外呢特石,有個(gè)名為 PyWifi 的第三方庫(kù)盅蝗,它可以用于操作 Wi-Fi,并提供了簡(jiǎn)單的 API 來(lái)獲取 Wi-Fi 信息姆蘸。比較適合我們獲取到該網(wǎng)絡(luò)的信息墩莫,以及使用 pywifi 模塊實(shí)現(xiàn)一些更高級(jí)的功能芙委,例如檢測(cè) Wi-Fi 網(wǎng)絡(luò)的質(zhì)量、分析數(shù)據(jù)流量等等狂秦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灌侣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子裂问,更是在濱河造成了極大的恐慌侧啼,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愕秫,死亡現(xiàn)場(chǎng)離奇詭異慨菱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)戴甩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門符喝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人甜孤,你說(shuō)我怎么就攤上這事协饲。” “怎么了缴川?”我有些...
    開(kāi)封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵茉稠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我把夸,道長(zhǎng)而线,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任恋日,我火速辦了婚禮膀篮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岂膳。我一直安慰自己誓竿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布谈截。 她就那樣靜靜地躺著筷屡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪簸喂。 梳的紋絲不亂的頭發(fā)上毙死,一...
    開(kāi)封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音喻鳄,去河邊找鬼规哲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛诽表,可吹牛的內(nèi)容都是我干的唉锌。 我是一名探鬼主播隅肥,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼袄简!你這毒婦竟也來(lái)了腥放?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绿语,失蹤者是張志新(化名)和其女友劉穎秃症,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吕粹,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡种柑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匹耕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聚请。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖稳其,靈堂內(nèi)的尸體忽然破棺而出驶赏,到底是詐尸還是另有隱情,我是刑警寧澤既鞠,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布煤傍,位于F島的核電站,受9級(jí)特大地震影響嘱蛋,放射性物質(zhì)發(fā)生泄漏蚯姆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一洒敏、第九天 我趴在偏房一處隱蔽的房頂上張望蒋失。 院中可真熱鬧,春花似錦桐玻、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至链韭,卻和暖如春偏竟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背敞峭。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工踊谋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人旋讹。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓殖蚕,卻偏偏與公主長(zhǎng)得像轿衔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子睦疫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容