菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

编写一个Python脚本来获取Windows电脑的WiFi密码

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:python教程 Python脚本

要获取Windows电脑的WiFi密码,可以使用Python的第三方库`pywifi`。首先需要安装这个库,可以使用以下命令安装: ```bash pip install pywifi ``` 接下来,可以使用以下代码来获取WiFi密码: ```python import pywifi from pywifi import const def get_wifi_password(ssid): wifi = pywifi.PyWiFi() iface = wifi.interfaces()[0] iface.disconnect() profile = pywifi.Profile() profile.ssid = ssid profile.auth = const.AUTH_ALG_OPEN profile.akm.append(const.AKM_TYPE_WPA2PSK) profile.cipher = const.CIPHER_TYPE_CCMP profile.key = "your_wifi_password" #

获取Windows电脑WiFi密码Python脚本方便获取电脑里存储过的所有WiFi密码,其原理是自动化"netsh wlan show profiles"的查询过程,后通过正则匹配获取

#subprocess模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值importsubprocessimportre#用于判断OS的语言importlocaleloc_lang=locale.getdefaultlocale()#print(loc_lang[0])#代码中用到的正则匹配模式字符串,提取出来以便不同语言系统使用,默认支持中文英文,其他语言需要更改匹配语句ifloc_lang[0]=="zh_CN":re_pattern=["所有用户配置文件:(.*)r","安全密钥:不存在","关键内容:(.*)r"]else:re_pattern=["AllUserProfile:(.*)r","Securitykey:Absent","KeyContent:(.*)r"]#如果capture_output设为true,stdout和stderr将会被捕获cmd_output=subprocess.run(["netsh","wlan","show","profiles"],capture_output=True).stdout.decode('gbk')#print(cmd_output)wifi_names=(re.findall(re_pattern[0],cmd_output))#print(wifi_names)wifi_list=[]iflen(wifi_names)!=0:fornameinwifi_names:#每一个wifi的信息存储在一个字典里wifi_profile={}profile_info=subprocess.run(["netsh","wlan","show","profiles",name],capture_output=True).stdout.decode('gbk')#print(profile_info)#判断wifi密码是否存储在windows计算机里,不存在则忽略ifre.search(re_pattern[1],profile_info):continueelse:wifi_profile["ssid"]=name#密码存在时,加上命令参数“key=clear”显示wifi密码profile_info_pass=subprocess.run(["netsh","wlan","show","profiles",name,"key=clear"],capture_output=True).stdout.decode('gbk')password=re.search(re_pattern[2],profile_info_pass)#print(password)ifnotpassword:wifi_profile["password"]=Noneelse:wifi_profile["password"]=password[1]wifi_list.append(wifi_profile)foriinrange(len(wifi_list)):print(wifi_list[i])


评论
建站知识
建站知识
使用技巧
调试安装
运营推广