هک پسورد وای فای با پایتون

پیدا کردن پسورد وای فای با پایتون

هنگام اتصال به وای فای، برای دسترسی به شبکه باید چند کلمه عبور وارد کنیم، اما نمی‌توانیم رمز عبوری را که قبلا وارد کرده‌ایم (رمز عبور ذخیره شده شبکه) ببینیم. در این مقاله به بررسی نحوه یافتن رمز وای فای با پایتون و ماژول زیر فرآیندی می پردازیم که می تواند تمام اطلاعات ذخیره شده وای فای از جمله نام و رمز وای فای را به ما نشان دهد.

Wi-Fi یک فناوری شبکه بی سیم است که به دستگاه هایی مانند رایانه، تلفن همراه و سایر دستگاه ها اجازه می دهد به اینترنت متصل شوند.

ابزار کد برای یافتن رمز وای فای با پایتون

در مرحله اول باید ماژول subprocess را فراخوانی کنیم.

import subprocess

متغیری به نام Data تعریف می کنیم و از ماژول subprocess و روش check_output استفاده می کنیم تا دستورات مورد نیاز برای دریافت نام شبکه هایی که در حال حاضر به آنها متصل هستیم را بدست آوریم. پس از دریافت، باید آنها را به صورت رمزگشایی شده به کاربر نشان دهیم.

در خط بعدی لیست را تعریف می کنیم و با استفاده از حلقه for می گوییم که اگر تمام مشخصات کاربر در متغیر داده یافت شود، عناصر خود را در i ذخیره می کند و i را با استفاده از متد split () به لیست تبدیل می کند و اولین پوشه را نشان می دهد. و آن را در متغیر profile قرار دهید.

 

نام شبکه های متصل در متغیر All User Profile Data به صورت لیست و در All User Profile ذخیره می شود و برای بدست آوردن نام ها از حلقه for و عبارت شرطی استفاده می کنیم.

دریافت نام شبکه

data = subprocess.check_output([‘netsh’, ‘wlan’, ‘show’, ‘profiles’]).decode(‘utf-8’, 

errors=”backslashreplace”).split(‘\n’)

profiles = [i.split(“:”)[1][1:-1] for i in data if “All User Profile” in i]

سپس با کمک حلقه for مقادیر متغیر profile را در i قرار می دهیم. در بدنه حلقه for، بلوک try را تعریف می کنم و دو متغیر برای دریافت رمز عبور تعریف می کنم. ما متغیری را با نام نتایج تعریف می کنیم و از ماژول subprocess و روش check_output استفاده می کنیم تا دستورات مورد نیاز برای نشان دادن شبکه هایی که در حال حاضر به آنها متصل هستیم را به صورت رمزگشایی به کاربر نشان دهیم.

در خط بعدی لیست را تعریف می کنیم و با استفاده از حلقه for می گوییم، اگر محتوای کلید در متغیر نتیجه یافت شود، عناصر خود را در b ذخیره می کند و با استفاده از متد split() b را به لیست تبدیل می کنیم و فراخوانی می کنیم. ابتدا آن را نشان داده و در متغیر نتیجه قرار دهید.

Result نام شبکه های متصل در متغیر داده به صورت لیست است و در نتایج ذخیره می شود و برای بدست آوردن نام از حلقه for و عبارت شرطی استفاده می کنیم.

 

دریافت رمزهای وای فای

for i in profiles:

    try:

        results = subprocess.check_output([‘netsh’, ‘wlan’, ‘show’, ‘profile’, i, ‘key=clear’]).decode(‘utf-8’, errors=”backslashreplace”).split(‘\n’)

        results = [b.split(“:”)[1][1:-1] for b in results if “Key Content” in b]

یک بلوک try برای مدیریت خطاها و نمایش خروجی به کاربر تعریف می کنیم و از Fstring برای نمایش نام و رمز شبکه ها استفاده می کنیم و با استفاده از خطاهای Index به جز IndexError برای نشان دادن خطای مورد نظر خود مدیریت می کنیم.

try:

        results = subprocess.check_output([‘netsh’, ‘wlan’, ‘show’, ‘profile’, i, ‘key=clear’]).decode(‘utf-8’, errors=”backslashreplace”).split(‘\n’)

        results = [b.split(“:”)[1][1:-1] for b in results if “Key Content” in b]

        try:

            print (“{:<30}|  {:<}”.format(i, results[0]))

        except IndexError:

            print (“{:<30}|  {:<}”.format(i, “”))

except اخر برای مدیریت خطا هنگام پردازش روی شبکه است.

except subprocess.CalledProcessError:

        print (“{:<30}|  {:<}”.format(i, “ENCODING ERROR”))

خروجی به صورت زیر است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *