امروز در خدمت شما عزیزانیم با یک مقاله بسیار بسیار کاربردی دیگه. آیا تا به حال شده است نیاز داشته باشید رمز وای فای هایی که قبلا به اون متصل شدین رو بدست بیارید؟ این کار با پایتون خیلی راحت قابل انجام هست.
برای اینکه شما بتوانید از کد ها استفاده کنید نیاز است که پایتون را روی سیستمتون نصب کنید. ما آموزش نصب پایتون را برای شما عزیزان قرار داده ایم و شما می توانید طبق این مقاله پایتون را روی سیستم خودتون نصب کنید. در این مقاله شما می توانید با استفاده از پایتون، تمام وای فای هایی که به آن متصل شده ایید را پیدا کند و رمز عبور آن را مقابل نام وای فای پیدا کنید.
در قدم اول ما بایستی ماژول subprocess را ایمپورت کنیم.
import subprocess
در قدم بعدی متغییری با نام data تعریف میکنیم و با استفاده از ماژول subprocess که ایمپورت کردیم و متد check_output دستورات مورد نیاز برای دریافت نام شبکه هایی که قبلا به آن ها متصل شده ایم را دریافت میکنیم. منتها قبل از نمایش به کاربر، ما باید آن ها را دیکود کنیم.
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 دستور شرطی می گوییم اگر 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"))
و تمام. اکنون میتوانید این فایل را اجرا کنید و رمز همه وای فای هایی که قبلا به آن متصل شده اید را پیدا کنید. برای اجرای این فایل هم کافی است روی کد هاتون در VSCode راست کلیک کنید و گزینه run python file in terminal را انتخاب کنید.
همچنین میتوانید همه کد های بالا را یکجا مشاهده کنید:
import subprocess data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles']).decode('utf-8').split('\n') profiles = [i.split(":")[1][1:-1] for i in data if "All User Profile" in i] for i in profiles: results = subprocess.check_output(['netsh', 'wlan', 'show', 'profile', i, 'key=clear']).decode('utf-8').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, "")) input("")
ممنون که با ما همراه بودید.