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

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

هنگام اتصال به وای فای، باید برخی رمزها را برای دسترسی به شبکه وارد کنیم، اما مستقیماً نمی توانیم رمز عبوری را که قبلاً وارد کرده ایم (رمز شبکه ذخیره شده) را ببینیم. در این مقاله نحوه پیدا کردن پسورد وای فای با پایتون و ماژول 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"))
				
			

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

دیدگاهتان را با ما درمیان بگذارید
تعداد دیدگاه : 0
امتیاز کلی : 0.0
پیشنهاد شده توسط : 0 کاربر
بر اساس 0 فروش
0
0
0
0
0

هنوز بررسی‌ای ثبت نشده است.

لطفا پیش از ارسال نظر، خلاصه قوانین زیر را مطالعه کنید:

فارسی بنویسید و از کیبورد فارسی استفاده کنید. بهتر است از فضای خالی (Space) بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

نظرات خود را براساس تجربه و استفاده‌ی عملی و با دقت به نکات فنی ارسال کنید؛ بدون تعصب به محصول خاص، مزایا و معایب را بازگو کنید و بهتر است از ارسال نظرات چندکلمه‌‌ای خودداری کنید.
اولین کسی باشید که دیدگاهی می نویسد “پیدا کردن پسورد wifi با پایتون”

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

قیمت دوره

رایگان

امتیازی ثبت نشده است
سطح آموزش مقدماتی
تعداد دانشجو : 0
تاریخ انتشار: ۲۴ بهمن ۱۴۰۰آخرین بروزرسانی: 17 فروردین 1401تعداد بازدید: 88
قوانین و مزایای استفاده

  • دسترسی به فایل محصول به صورت مادام‌العمر
  • تضمین کیفیت آموزش ها
  • فعال‌سازی آنی لینک دانلود، پس از ثبت سفارش
  • فروش فقط از طریق آکادمی نتکا
  • به صورت رایگان یک یا چند آموزش را دریافت می کنید.
مدرس

حامد نوری

کارشناس حوزه امنیت شبکه و امنیت اطلاعات

قیمت دوره

رایگان