如何利用python和DOS获取wifi密码
CMD命令获取电脑里配置过的wifi信息
设定一个场景,假如我忘记了自家的wifi密码,这时候小伙伴来家里跟我开黑,问我wifi密码是多少?我就抓住了这个小秀一波的机会。
上才艺:
按下win+R键,输入CMD打开DOS窗口,然后输入以下命令查看电脑里配置过的wifi。
netsh wlan show profiles
这是电脑连过的wifi,假设我家里的wifi是CMCC-CMCC,接下来我需要查看CMCC-CMCC的信息,上代码:
netsh wlan show profiles CMCC-CMCC
可以看到,安全密钥这里显示的是存在,说明这个wifi是有密码的,接下来,我们用在上面的代码基础上加上"key=clear",密码就会显示了。(不用担心这个clear,不会删除你的wifi密码的,只是一个显示作用)
netsh wlan show profiles CMCC-CMCC key=clear
这个就是我的wifi密码了!
用python脚本来实现这一操作,并获取所有配置过的wifi密码
首先导入两个库subprocess、re
- subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。
- re 模块使 Python 语言拥有全部的正则表达式功能。
我们建立一个通道来执行DOS命令,列出所有的连接过的wifi,并且用profile_names来存下这些WIFI名称,输出采用字典的形式,每个wifi名和密码为一个字典中的键值对,并且先定义一个列表用来存下这些字典。
command_output = subprocess.run(['netsh','wlan','show','profiles'],capture_output= True).stdout.decode(encoding='gbk') profile_names = re.findall('所有用户配置文件 :(.*)\r',command_output)#返回一个列表 wifi_list=list()
将下一个命令即“查看wifi是否存在密钥”写进代码
if len(profile_names) != 0: for name in profile_names: wifi_profile = dict() profile_info = subprocess.run(['netsh','wlan','show','profiles',name],capture_output=True).stdout.decode(encoding='gbk')
如果安全密钥的内容不是存在的话,说明wifi是没有密码的,我们就不用去瞎搞了,直接continue了。如果是存在的话,我们才进行下一步操作,就是进行下一个命令:加上key=clear,查看密码。这里解释一下为什么要用name[1:],可能是因为编码的原因,通过正则得来的name前面包含了一个空格,如果直接用这个name的话,电脑会告诉你没有这个wifi。例如上文中,我的wifi是“CMCC-CMCC”,当是通过正则获取的wifi名就是“ CMCC-CMCC”多了一个空格。电脑会以为这两个东西它不一样。。。
if re.search('安全密钥 : 不存在',profile_info): continue else: wifi_profile['ssid'] = name[1:] profile_info_pass = subprocess.run(['netsh','wlan','show','profiles',name[1:],'key=clear'],capture_output=True).stdout.decode(encoding='gbk') password = re.search('关键内容 :(.*)\r',profile_info_pass) if password == None: wifi_profile["password"]=None else: wifi_profile["password"] = password[1] wifi_list.append(wifi_profile)
最后,只要把列表(wifi_list)中的内容打印出来就行了,我把所有代码跟在后面,方便大家理解。
import subprocess import re command_output = subprocess.run(['netsh','wlan','show','profiles'],capture_output= True).stdout.decode(encoding='gbk') profile_names = re.findall('所有用户配置文件 :(.*)\r',command_output) wifi_list=list() print(type(profile_names)) if len(profile_names) != 0: for name in profile_names: wifi_profile = dict() profile_info = subprocess.run(['netsh','wlan','show','profiles',name],capture_output=True).stdout.decode(encoding='gbk') if re.search('安全密钥 : 不存在',profile_info): continue else: wifi_profile['ssid'] = name[1:] profile_info_pass = subprocess.run(['netsh','wlan','show','profiles',name[1:],'key=clear'],capture_output=True).stdout.decode(encoding='gbk') password = re.search('关键内容 :(.*)\r',profile_info_pass) if password == None: wifi_profile["password"]=None else: wifi_profile["password"] = password[1] wifi_list.append(wifi_profile) for x in range(len(wifi_list)): print(wifi_list[x])
如果大家有什么高见请批评指正
以上就是如何利用python和DOS获取wifi密码的详细内容,更多关于用python和DOS获取wifi密码的资料请关注猪先飞其它相关文章!
相关文章
- 这篇文章主要介绍了python-opencv-画外接矩形框的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-09-04
iPhone输错密码导致手机锁定怎么办 iPhone输错密码手机锁定解决方法
如果反复输错屏幕密码,手机就会进入锁定模式,也就是永久停用状态,只能抹掉数据以解除锁定状态和清除锁屏密码...2022-09-14Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 一般来说为了达到隐藏自身 IP,我们都会选择一些 CDN 服务,目前用的最多的免费 CDN 是 Cloudflare。但是正常情况下 Cloudflare 是不能自己选择IP,有时候分配给我们的 IP 可能表现不佳,也只能将就着用。但是我们都希望可以用上 CF 比较快的 IP。那么自选IP,就显得很必要了。...2022-09-23
- 2022虎年新年即将来临,小编为大家带来了一个利用Python编写的虎年烟花特效,堪称全网最绚烂,文中的示例代码简洁易懂,感兴趣的同学可以动手试一试...2022-02-14
- 在本篇文章里小编给大家分享的是一篇关于python中numpy.empty()函数实例讲解内容,对此有兴趣的朋友们可以学习下。...2021-02-06
python-for x in range的用法(注意要点、细节)
这篇文章主要介绍了python-for x in range的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-10- 这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 存储过程在数据库的应用中我们用到的非常的多了,下面我们来看一篇关于PHP操作MSSQL存储过程修改用户密码的例子,具体的如下所示。 mssql2008 存储过程 下面可以直接...2016-11-25
- 这篇文章主要介绍了python如何实现b站直播自动发送弹幕,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下...2021-02-20
python Matplotlib基础--如何添加文本和标注
这篇文章主要介绍了python Matplotlib基础--如何添加文本和标注,帮助大家更好的利用Matplotlib绘制图表,感兴趣的朋友可以了解下...2021-01-26- 这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
- 最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。 html 代码如下: 复制代码 代码如下: <!DOCTYPE HTML> <htm...2014-06-07
- 今天小编就为大家分享一篇python 计算方位角实例(根据两点的坐标计算),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
- 这篇文章主要为大家详细介绍了python实现双色球随机选号,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-05-02
- 在本篇文章里小编给大家整理的是一篇关于python中使用np.delete()的实例方法,对此有兴趣的朋友们可以学习参考下。...2021-02-01
- 这篇文章主要介绍了使用Python的pencolor函数实现渐变色功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-09
- 这篇文章主要介绍了python自动化办公操作PPT的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-05
Python getsizeof()和getsize()区分详解
这篇文章主要介绍了Python getsizeof()和getsize()区分详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-20