实验内容:不借助其他工具,用python暴力破解wifi

实验工具:python3.6+pywifi模块+密码字典

实验环境:Windows7(64bit)

实验思路:

  • 首先搜索附近的wifi,将这些wifi信息(wifi个数、wifi名称、对应的Mac地址、以及信号强度)显示出来。
  • 其次通过显示出来的wifi列表,如果想对某个wifi进行破解,只需点击该行,就可以将该wifi的名称获取到。
  • 最后需要将使用密码字典文件导入进来实施破解即可。如果破解成功就弹出对话框显示破解成功,并且将破解获取到的wifi密码显示到wifi密码这一栏中,如果破解不成功,显示破解失败对话框。

实验步骤:分两步

step1:编写界面代码

这一步需要使用tkinter模块,这是python自带的图形界面库,通过import tkinter调用使用就可以了,代码中set_init_window函数就是实现界面排版功能。最后的界面实现结果如下图:

其中,各项表示的含义:

  • 搜索附近wifi:搜索wifi
  • 开始破解:破解之前需要获取wifi和密码文件路径
  • 目录路径:显示密码字典文件的路径
  • wifi账号:显示的是所要破解的wifi名称
  • wifi密码:显示的是所要破解WiFi的密码

wifi列表中包括四列,分别是:wifiID,SSID,BSSID,signal

  • wifiID:表示wifi的个数
  • SSID:表示wifi的名称
  • BSSID:表示wifi的MAC地址
  • signal:表示wifi的信号强度

step2:编写破解wifi代码

实现过程:

1、首先导入pywifi模块,因为要启用wifi那么必须要有启用wifi的模块。

2、有了启用wifi的模块以后,我们首先要抓取网卡接口, 因为连接无线wifi,必须要有网卡才行。一台电脑可能有很多网卡, 但是一般都只有一个wifi网卡,我们使用第一个网卡就行了。

3、抓取到以后就进行连接测试,首先是要断开所有的wifi网卡上 的已连接成功的,因为有可能wifi上有连接成功的在。

4、断开所有的wifi以后,我们就可以进行破解了, 从(.txt)文档中一行一行读取我们的密码字典, 一遍一遍的刷密码,直到返回isOK为True,表示破解成功。

5、因为连接也是要时间的,不可能一秒钟尝试好多次, 而且还依赖字典的强度。

对密码字典的思考:

如果想要破解某个wifi的话,还是应该结合社会工程学搜集该wifi的信息,然后根据这些信息通过密码生成器从而生成更具有针对性的密码,这样破解速度上有很大的提高。

实验总结和不足的地方:

1、学习了python的语法已经针对性的学习了GUI界面设计部分,但是界面部分设计的还是有些死板,可以通过pack()来管理界面,更好地办法可以通过h5+css+python来设计界面,自己造轮子,不用调用tkinter模块。

2、学习了如何使用python破解wifi

github下载

网络攻防大作业——用python实现wifi破解的更多相关文章

  1. 2018-2019-2 20165237《网络攻防技术》Exp1 PC平台逆向破解

    2018-2019-2 20165237<网络攻防技术>Exp1 PC平台逆向破解 一.实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调 ...

  2. 2018-2019-2 20165312《网络攻防技术》Exp1 PC平台逆向破解

    2018-2019-2 20165312<网络攻防技术>Exp1 PC平台逆向破解 一.Exp1.1 直接修改程序机器指令,改变程序执行流程 知识要求:Call指令,EIP寄存器,指令跳转 ...

  3. # 2018-2019-2 20165210《网络攻防技术》Exp1 PC平台逆向破解(BOF实验)

    2018-2019-2 20165210<网络攻防技术>Exp1 PC平台逆向破解(BOF实验) 实验分为三个部分: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. ...

  4. 数据库大作业--由python+flask

    这个是项目一来是数据库大作业,另一方面也算是再对falsk和python熟悉下,好久不用会忘很快. 界面相比上一个项目好看很多,不过因为时间紧加上只有我一个人写,所以有很多地方逻辑写的比较繁琐,如果是 ...

  5. python制作wifi破解(跑字典(单线程))

    很鸡巴简单,接上一篇文章 import pywifi import sys import time from pywifi import const def test_wifi_connect(pas ...

  6. 2017-2018-2 20179205《网络攻防技术与实践》第十一周作业 SQL注入攻击与实践

    <网络攻防技术与实践>第十一周作业 SQL注入攻击与实践 1.研究缓冲区溢出的原理,至少针对两种数据库进行差异化研究 缓冲区溢出原理   在计算机内部,输入数据通常被存放在一个临时空间内, ...

  7. Python中的网络扫描大杀器Scapy初探

    Python中的网络扫描大杀器Scapy初探     最近经历了Twisted的打击,这个网络编程实在看不懂,都摸不透它的内在逻辑,看来网络编程不是那么好弄的.还好,看到了scapy,这种网络的大杀器 ...

  8. 20145236《网络攻防》 Exp3 免杀原理与实践

    20145236<网络攻防> Exp3 免杀原理与实践 一.基础问题回答 1.杀软是如何检测出恶意代码的? 恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的 ...

  9. 20155201 网络攻防技术 实验八 Web基础

    20155201 网络攻防技术 实验八 Web基础 一.实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. We ...

随机推荐

  1. 虚拟机中多个Linux系统之间配置免秘钥访问

    1.三个节点cdh1,cdh2,cdh3 2.在每个机器上分别生产公钥对 ssh-keygen -t rsa 3.复制公钥 cd .ssh cat  id_rsa.pub  >> auth ...

  2. 代码审计之DocCms漏洞分析

    0x01 前言 DocCms[音译:稻壳Cms] ,定位于为企业.站长.开发者.网络公司.VI策划设计公司.SEO推广营销公司.网站初学者等用户 量身打造的一款全新企业建站.内容管理系统,服务于企业品 ...

  3. Linux init 命令

    init命令用于切换到指定的运行级别,用法如下: [root@localhost ~]# init //关机 [root@localhost ~]# init //切换到单用户模式/救援模式 [roo ...

  4. mkubimage-mlc2: error while loading shared libraries: liblzo2.so.2: cannot open shared object file: No such file or directory

    mkubimage-mlc2: error while loading shared libraries: liblzo2.so.2: cannot open shared object file: ...

  5. codeblocks编码设置

    注意编码统一,即文件编码和编译时的编码统一即可. codeblock13.12下: 文件编码: setting -> editor ->general setting -> othe ...

  6. vc下项目的头文件包含目录以及库导入预计库目录设置

    1.包含目录:include 头文件包含目录设置: project->setting->C/C++->常规: Additional include directories(附加包含目 ...

  7. 从经典问题来看 Copy 方法

    经典面试题:为什么 NSString 类型成员变量的修饰属性用 copy 而不是 strong (或 retain ) ? 在初学 iOS 的时候,可能会被灌输这么一个常识,切记 NSString 的 ...

  8. sql语句建表,并且自增加主键

    sql语句建表,并且自增加主键 use [test] CREATE TABLE [dbo].[Table_4] ( [userid] [int] IDENTITY(1,1) NOT NULL, CON ...

  9. IOS设计模式第七篇之观察者设计模式

    版权声明:原创作品,谢绝转载!否则将追究法律责任. 观察者设计模式 在观察者设计模式里面,一个对象通知其他的对象一些状态的改变.涉及这些对象不需要知道另一个对象---因此鼓励解耦设计模式.这个设计模式 ...

  10. 为什么WAN口IP和外网IP不一样(不一致)?

    正常的网络应该是动态公网ip,也就是路由器里面的WAN口IP与www.ip138.com上面显示的是一致的,不一致的话则说明该网络被电信或者联通做了NAT转发,导致您获取到了一个虚假的IP地址,无法用 ...