Wimonitor是一款非常优秀的黑客工具,它不仅可以帮渗透测试人员省去配置虚拟机和无线网卡等一系列麻烦事,而且它的Web接口配置起来也非常的方便。实际上,它就是一款TP-Link-MR3020路由器,只不过它使用的是自定义固件,并能够将监控到的网络数据包转发给主机电脑(Mac或Windows等主机),而我们此时就可以使用WireShark来对数据包进行分析了。

但是,我们可不可以使用树莓派来实现一样的功能呢?答案当然是肯定的,因此在这篇文章中,我们将教会大家如何使用树莓派3B来搭建一个稳定的WiFi监控平台,并通过几个简单的步骤来将其模拟成一个Wimonitor。

硬件要求

1.      运行Windows的笔记本电脑(测试设备使用的是Windows 8.1)

2.      树莓派3B、Micro SD卡、电源适配器(USB 3.0足够驱动树莓派+无线网卡了)

3.      网线(连接树莓派和笔记本电脑)

4.      支持监听模式的无线网卡(例如TL-WN722N v1)

安装配置

首先,将RASPBIAN STRETCH LITE刻到Micro SD卡中,这是一个轻量级操作系统,并且支持例如TL-WN722N之类的无线网卡,具体的步骤请参考【操作指南】。

刻录完成之后,我们可以通过在SD卡中创建一个名叫ssh的空文件(无需文件扩展名)来启用树莓派的SSH功能。

为了确保笔记本电脑能够跟Pi正常通信,最简单的方法就是用笔记本给Pi共享WiFi,这样就可以保证Pi的IP地址在192.168.137.x范围内。进入网络连接设置(ncap.cpl),右键点击Wi-Fi适配器,然后选择属性。在“Sharing”标签页中,选择需要插入Pi的以太网适配器,点击OK。

接下来,将Pi与笔记本主机连接,然后把SD卡插到Pi的卡槽中,将无线网卡插入到USB端口连接网线(笔记本主机-Pi),然后启动设备。

当Pi启动之后,它将会使用共享链接的IP地址,你可以在笔记本主机上使用nmap(对192.168.137.1/24子网进行主机搜搜)来查看Pi的IP地址。

打开PuTTY,然后使用ssh登录到Pi,我们所使用的Raspbian操作系统默认的用户名和密码分别为pi和raspberry。

给Pi设置一个静态地址,打开/etc/dhcpcd.conf并将下列代码添加到文件末尾:

interfaceeth0
staticip_address=192.168.137.100/24
staticrouters=192.168.137.1
staticdomain_name_servers=192.168.137.1

我个人比较喜欢使用基于密钥的SSH登录验证。打开PuTTYgen,然后生成一个密钥对。

在Pi的home目录中创建一个.ssh文件夹,然后在这个文件夹中创建一个名叫authorized_keys的文件,将PuTTYgen生成的公钥复制到这个文件中,最后自己保存好PuTTYgen生成的私钥,并重启Pi的SSH服务。结束之后,别忘了修改Pi的默认密码。

Raspbian操作系统没有自带与网络监控有关的数据包,因此你可以使用下列命令来安装这些包:

sudo aptupdate
sudo aptinstall aircrack-ng tcpdump -y

接下来,我们需要在Pi上测试无线网卡的监听功能是否正常。

既然我们已经验证了Pi能够正常进行网络监控了,我们就可以使用SSH登录到Pi,然后在Pi上运行rcpdump,并将信息转发给运行在笔记本主机中的Wireshark。

plink.exe是PuTTY.exe的Windows命令行接口,为了方便起见,我把plink.exe和PuTTYgen生成的SSH私钥放在了同一个文件夹中。如果这些文件不在同一文件夹中,你就需要相应地修改下列代码中的路径了:

plink.exe-ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.234 "sudo tcpdump -niwlan1mon -s 0 -w -" | "C:\Program Files\Wireshark\Wireshark.exe"-k -i -

如果你只想监听信道1,你可以使用下列命令:

sudo iwconfig wlan1mon channel 1

下面的命令可以开启Pi无线网卡的监听模式:

plink.exe-ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.100 "sudo airmon-ng startwlan1"

接下来,我们可以在笔记本主机中开启Wireshark并开始监听无线网络数据:

plink.exe-ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.100 "sudo tcpdump -niwlan1mon -s 0 -w -" | "C:\Program Files\Wireshark\Wireshark.exe"-k -i -

OK,一切搞定!大家快去自己动手尝试一下吧!

借助树莓派模拟Wimonitor并实现WiFi窃听和嗅探的更多相关文章

  1. 树莓派(Raspberry Pi 3) 使用wifi模块连接网络

    树莓派3B内置了wifi和蓝牙模块,启动WIFI模块有两种方式,一种是图形界面,一种是命令行模式. 使用图形界面: 在桌面右上角的菜单栏里面选择wifi,输入密码就可以了. 使用命令行: 第一步:配置 ...

  2. 树莓派2安装使用小米WIfi(360 小度 腾讯wifi)

    更新2015年11月16日,jessie内核版本号4.1.13(uname -a 可以查看)直接可以驱动MT7601U,无需手动编译. 截止2015-4-6,本文基于树莓派2,raspbian,内核版 ...

  3. [转]树莓派.设置自动重连WiFi

    由于不可知的原因,有可能会导致树莓派失去连接,这时候需要重新连接WiFi. 自动重连的原理是,定期查看是否断网,如果断网了重启WiFi,参考的文章是这篇,第一步略有修改. 1.Python 代码 au ...

  4. 树莓派4B无屏幕连接Wi-Fi/启用ssh/创建用户

    前边总得说点什么 最近每次在Win10上写代码需要启动Redis,残血Redis For Windows有卡死系统的bug.由于主机内存不大够用(已经扩到顶了),开虚拟机运行Redis更别提了..想起 ...

  5. 树莓派命令行配置连接wifi

    iwlist scan sudovim /etc/wpa_supplicant/wpa_supplicant.conf   network={   ssid="WIFINAME" ...

  6. 在Wifi网络中嗅探明文密码(HTTP POST请求、POP等)

    全世界,现在大约50%的网站没有使用SSL加密,天朝尤其多. 我们都知道通过HTTP发送的数据都是明文,没有使用任何加密,即使是在数据敏感的登录页面. 本文的目的是:如果你在不熟悉的网络环境中,要注意 ...

  7. 树莓派学习笔记——USB wifi配置指南

    0 前言     树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...

  8. 树莓派3启动wifi并且配置wifi

    概述 树莓派3内置了wifi和蓝牙模块,我们不用像以前的版本那样,再去购买一个外接的模块练到raspberry上. 当我们第一次启动了树莓派的时候,必然使用了网线,但是之后的每一次使用,我们当然更希望 ...

  9. 【手把手教你树莓派3 (二)】 启动wifi模块

    概述 树莓派3内置了wifi和蓝牙模块,我们不用像以前的版本那样,再去购买一个外接的模块练到raspberry上. 当我们第一次启动了树莓派的时候,必然使用了网线,但是之后的每一次使用,我们当然更希望 ...

随机推荐

  1. EXCEL宏做数据拆分

    用处:将大容量的EXCEL工作簿分解成若干个小的工作簿 Sub aa() For i = 1 To 8 Set nb = Workbooks.Add nb.SaveAs Filename:=ThisW ...

  2. install cinnamon on ubuntu 14.04

    emotion: I feel not comfortable with ubuntu 14.04 default desktop unity,i still look for a alternati ...

  3. 开发者工具删除元素Delete Element

    开发者工具有个很好用的功能,通过删除元素,可以查看页面哪些元素比较特殊,同时也可以排除干扰.

  4. 【Vjudge】P558E A Simple Task(线段树暴力)

    题目链接 这题……太暴力了吧…… 开二十六棵线段树维护l到r字符i出现的次数,然后修改的时候暴力修改,输出的时候暴力输出……就过了…… 然后我还没想到…… qwq #include<cstdio ...

  5. 【Luogu】P3709大爷的字符串题(莫队算法)

    题目链接 语文题啊…… 看题解发现是让求区间中最多的数的个数,于是果断理解了一会题解……莫队套上完事. sum[i]表示i这个数出现的次数,cnt[i]表示出现i次的数有几个,然后乱搞搞……就好了 # ...

  6. debian 切换最新源

    deb http://ftp.cn.debian.org/debian sid main#deb http://ftp.debian.org/debian/ wheezy main

  7. php-超全局变量

    下表列出了您能够在 $_SERVER 中访问的最重要的元素: 元素/代码 描述 $_SERVER[' PHP_SELF '] 返回当前执行脚本的文件名. $_SERVER[' GATEWAY_INTE ...

  8. 刷题总结——ball(ssoj)

    题目: 题目背景 SOURCE:NOIP2015-SHY-9 题目描述 Alice 与 Bob 在玩游戏.他们一共玩了 t 轮游戏.游戏中,他们分别获得了 n 个和 m 个小球.每个球上有一个分数.每 ...

  9. APUE 学习笔记(五) 进程环境

    1.main函数 C程序总是从main函数开始执行,当内核执行C程序时,在调用main函数之前先调用exec函数从内核获取命令行参数和环境变量值   2.进程终止 正常终止: (1)在main函数内执 ...

  10. es6总结(十一)--class & decorator