Android APK实现WIFI协议包抓取(上)-实现思路

一次偶然的机会听到一个需求,甲方希望能在手机上实现一个APK,这个APK能够记录附近WIFI的站点信息,然后由强到弱抓取WIFI协议包,转送到云端进行WIFI破解。大致调研了几天,实现思路如下:
1. 准备工具-nexus 4手机,root后,在手机上安装busybox和tcpdump工具。
busybox的下载地址是:https://busybox.net/downloads/binaries/ ,下载对应cpu结构(cat /proc/cpuinfo)的最新文件;tcpdump的下载地址是:http://www.strazzere.com/android/tcpdump。将上面的文件放在/system/xbin/目录下,并更改权限为755.
2. 将手机网卡开启混杂模式,网卡只有在混杂模式下才能获得非本机的数据包。命令如下:busybox ifconfig wlan0 promisc
然后用命令:busybox ifconfig查看wlan0网卡是否已经打开混杂模式(wlan0支持的协议中含有 PROMISC 时,表示已经打开混杂模式)。如果网卡不支持混杂模式,那就无法实现WIFI协议包的抓取。
3. 运行tcpdump命令,开始抓取数据包,命令如下:tcpdump -i wlan0 src host IP地址 or host IP地址 -s 0 -w /sdcard/capture.pcap。上述的IP地址就是你要抓取的路由器的IP地址。我手机上抓包测试的命令
4. 要抓取“合法用户”登录WIFI的协议包时,要给WIFI站点发送deauth攻击。
5. 用Java过滤并解析抓取的wifi协议,也可以将抓到的数据包传到云端进行WIFI密码的破解。
这次说的是实现思路,下次把有空把他实现了,省的以后破解WIFI的时候,还得在笔记本上弄一套。

你可能感兴趣的:(android安全)