实验内容:不借助其他工具,用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. Windows下切换盘符

    方法: 直接输入盘符+引号,例如输入D:,不区分大小写. 使用cd命令,例如cd /d D: 使用cd命令有一些要注意的地方: 在同一个磁盘分区里,不需要加上\d,但是不同磁盘分区切换的时候,需要加上 ...

  2. Web暴力破解--前端JS表单加密进行爆破

    0x01 前言 常见的js实现加密的方式有:md5.base64.shal,写了一个简单的demo作为测试. 0x02 代码 login.html <!DOCTYPE HTML> < ...

  3. Nginx 解析PHP

    配置如下: [root@localhost ~]$ cat /usr/local/nginx/conf/vhost/test.com.conf server { listen 80; server_n ...

  4. [Command] sync - 同步内存与硬盘数据

    sync - 同步内存与硬盘之间的数据. sync [--help] [--version] sync 命令将内存中缓存的数据写入磁盘.这包括但不限于修改过的 superblock, inode 和延 ...

  5. 使用es6使数组的第一项和最后一项就行调换

    let arr = [1, 2, 3,4]; let a = arr.filter((item, index) => { return index > 0 && index ...

  6. codeforces水题100道 第十题 Codeforces Round #277 (Div. 2) A. Calculating Function (math)

    题目链接:www.codeforces.com/problemset/problem/486/A题意:求表达式f(n)的值.(f(n)的表述见题目)C++代码: #include <iostre ...

  7. java远程连接access数据库

    本文转载自http://www.voidcn.com/article/p-tlrtkqlp-k.html 1  rmijdbc远程连接access数据库 正常情况下,常用的数据库sql server, ...

  8. Python学习(26):Python函数式编程

    转自  http://www.cnblogs.com/BeginMan/p/3509985.html 前言 <core python programming 2>说: Python不大可能 ...

  9. 【面试题】Java EE面试题

    第一部分:Servlet/JSP快速入门 1.      请列举至少6种javaEE技术,并简述其作用. 解析: javaEE是一系列的技术,主要包扩13种.对于开发人员来说,了解几种主要的技术是非常 ...

  10. 法律&道德

    西弗森是美国加州一名95岁的老妇人,2010年12月份的一天,她在家清理房间,当她翻开一叠纸的时候,一本书从里面掉了下来,她弯腰拾起来,发现是一本名叫<水上飞机独自飞>的书,再一看书页里的 ...