امنیتبرنامه نویسیپایتونتست نفوذ

پیدا کردن پسورد وای فای با ماژول subprocess پایتون

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

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

همچنین می توانید مقاله نحوه به دست آوردن پسورد وای فای با cmd ویندوز را نیز مطالعه کنید که دقیقا مرتبط با این مقاله می باشد.

وای فای یک فناوری شبکه بی سیم است که اجازه می دهد دستگاه هایی مانند رایانه، تلفن همراه و سایر تجهیزات با اینترنت ارتباط برقرار کنند.

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

پیدا کردن پسورد وای فای با ماژول subprocess پایتون
کد ابزار پیدا کردن پسورد وای فای با پایتون

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

import subprocess

متغییری با نام data تعریف میکنیم و با استفاده از ماژول subprocess و متد check_output دستورات مورد نیاز برای دریافت نام شبکه هایی که قبلا به آن ها متصل شده ایم را دریافت میکنیم. بعد از دریافت آن ما نیاز داریم تا آن ها را به صورت رمزگشایی (decode) شده به کاربر نشان دهیم.

در خط بعد با تعریف کردن لیست و با استفاده از حلقه for دستور شرطی می گوییم اگر All User Profile درون متغیر data یافت شد آیتم های آن را در i ذخیره کند و i را با کمک متد split() به لیست تبدیل کرده و ایندکس اول آن را نشان دهد و در متغییر profiles قرار دهد.

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 مقادیر متغیر profiles را در i قرار میدهیم. در بدنه حلقه for بلوک try را تعریف میکنم و دو متغیر برای دریافت رمزها تعریف می کنیم. متغییری با نام results تعریف میکنیم و با استفاده از ماژول subprocess و متد check_output دستورات مورد نیاز برای دریافت رمز عبور شبکه هایی که قبلا به آن ها متصل شده ایم را دریافت میکنیم تا به صورت رمزگشایی(decode) شده به کاربر نشان دهیم.

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

results نام شبکه های متصل شده در متغییر data به صورت لیست است و در results ذخیره شده است و برای دریافت نام ها از حلقه 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 برای نشان دادن نام و پسورد شبکه ها استفاده می کنیم و با استفاده از except IndexError ارورهای Index را مدیریت می کنیم تا ارور دلخواه ما نشان داده شود.

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

خروجی به صورت زیر میشود.

پیدا کردن پسورد وای فای با ماژول subprocess پایتون

خیلی ممنون که تا به اینجا همراه بودید.

بیشتر بخوانید: تست نفوذ شبکه های وای فای

علی پازکی

علاقه مند به برنامه نویسی ، علم امنیت و همچنین مسائل علمی ? همیشه درحال یادگیری♾

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

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

دکمه بازگشت به بالا