Nexus 5手机使用Nexmon工具获取CSI信息

一、实验工具

1. Google Nexus5智能手机(系统:Android 6.0.1,固件:M4B30Z,权限:ROOT ,可参考Nexus 5刷机(Android 6.0.1,M4B30Z 固件)和ROOT教程);
2. 安装Xubuntu 18.04系统的电脑或虚拟机:Xubuntu 下载地址,可根据需求自行下载对应版本;Xubuntu 使用教程;使用虚拟机的同学可参考此教程,VMware安装Ubuntu18.04教程;
3. ASUS-AC86U路由器。

二、操作步骤

注意:此处操作步骤仅对 Nexus5智能手机和Xubuntu 18.04系统有效。

  1. 进入Xubuntu系统,打开终端,获取超级用户权限,进入根目录下,执行如下命令安装dependencies;
apt-get install git gawk qpdf adb flex bison
  1. 如果是64位操作系统,还需要安装i386库,若不是,可忽略此步骤;
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
  1. 获取nexmon项目;
git clone git://github.com/seemoo-lab/nexmon.git
  1. 下载安装Android NDK r11c(仅支持此版本),并配置环境变量,参考教程;
  2. 进入nexmon文件夹,执行以下命令自动配置环境变量;
source setup_env.sh
  1. 完成后执行 make 命令,并进入utilities文件夹,继续执行 make 命令;
  2. 将准备好的手机与电脑通过USB进行连接,并执行如下命令;
make install
  1. 进入pathes/bcm4339/6_37_34_43/路径下,获取nexmon_csi项目;
git clone https://github.com/seemoo-lab/nexmon_csi.git
  1. 进入nexmon_csi路径,执行如下命令,为手机安装补丁;
make install-firmware
  1. 进入utils/makecsiparams/路径,执行 make 命令用于配置提取器;
  2. 调用makecsiparams执行如下命令生成一个参数字符串,以备后面使用,
# 其中,157指信道,80指带宽,00:11:22:33:44:55指路由器MAC地址
makecsiparams -c 157/80 -C 1 -N 1 -m 00:11:22:33:44:55 -b 0x88

执行后,生成如下参数:m+IBEQGIAgAAESIzRFWqu6q7qrsAAAAAAAAAAAAAAAAAAA==
12. 执行如下命令开启手机无线网卡,若网卡已打开则无需执行此命令;

ifconfig wlan0 up
  1. 执行如下命令配置CSI提取器,v后面的参数为步骤11生成的参数;
nexutil -Iwlan0 -s500 -b -l34 -vm+IBEQGIAgAAESIzRFWqu6q7qrsAAAAAAAAAAAAAAAAAAA==
  1. 执行如下命令,开启监控模式;
nexutil -Iwlan0 -m1
  1. 执行如下命令,获取CSI信息并存储。
tcpdump -i wlan0 -vv dst port 5500 -w /sdcard/csi.pcap
  1. 下载utils/matlab,编译unpack_float.c为unpack_float.mexw64文件,使用 Matlab软件执行utils/matlab/csireader.m文件,观察图像。

三、结果展示

Nexus 5手机使用Nexmon工具获取CSI信息_第1张图片

参考:nexmon项目教程

内容靠得住,关注不迷路。
在这里插入图片描述

你可能感兴趣的:(实用技巧,Nexmon,CSI,Nexus5)