CSI Tool安装使用讲解

来源:互联网 发布:影响原油的七大数据 编辑:程序博客网 时间:2024/05/22 15:35

由于专业和研究需要,不得不使用这个令人头疼的工具。由于太过专业性,相关资料都不好找,于是写一篇关于这个工具使用的文章。如果同学不知道CSI是什么东西,就不用往下看了,google也搜不到相关内容,当然,文章的重点也不是CSI。

在使用这个工具前,请确保你的电脑安装了Intel 5300网卡并且安装了Ubuntu系统(版本12.04-14.04之间)。装完系统后不要进行升级操作,确保该工具的兼容性。

下面介绍工具的安装,其实写这个工具的作者已经描述得很详细,但是还是会出一些问题。安装过程中穿插一些小提示,有些可以不去管它,按照步骤一步步输入命令就行,下面我列出我觉得必要的步骤,大家一步步照着输到终端就行。

1. Prerequisitessudo apt-get install gcc make linux-headers-$(uname -r) git-core2. Build and Install the Modified Wireless DriverCSITOOL_KERNEL_TAG=csitool-$(uname -r | cut -d . -f 1-2)git clone https://github.com/dhalperi/linux-80211n-csitool.gitcd linux-80211n-csitoolgit checkout ${CSITOOL_KERNEL_TAG}make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/net/wireless/iwlwifi modulessudo make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/net/wireless/iwlwifi INSTALL_MOD_DIR=updates modules_installsudo depmodcd ..3. Install the Modified Firmwaregit clone https://github.com/dhalperi/linux-80211n-csitool-supplementary.gitfor file in /lib/firmware/iwlwifi-5000-*.ucode; do sudo mv $file $file.orig; donesudo cp linux-80211n-csitool-supplementary/firmware/iwlwifi-5000-2.ucode.sigcomm2010 /lib/firmware/sudo ln -s iwlwifi-5000-2.ucode.sigcomm2010 /lib/firmware/iwlwifi-5000-2.ucode4. Build the Userspace Logging Toolmake -C linux-80211n-csitool-supplementary/netlink
     
这时,安装工作结束了。如果你是按照网上的安装教程一步步执行每条命令,最后会看到你的WiFi图标下会显示设备未托管,并且连不上网,不要慌张,因为需要手动配置网络。如果不想用命令行配置,安装时不使用任何Tip就行。但是建议手动配置,功能更强大,我也会提供相应配置脚本。现在就可以讲如何使用该工具,如果是AP模式,就很简单,运行下面的脚本就行。这种情况需要一个没有设置密码的路由器,当然路由器要支持802.11n协议。参数只有一个,那就是路由器WiFi名。
#!/bin/bashmodprobe -r iwldvm iwlwifi mac80211if [ "$#" -ne 1 ]; then    echo "Usage: wifi_connect <SSID>!"    exit 0else    id=$1fiifconfig wlan0 up 2>/dev/null 1>/dev/nullwhile [ $? -ne 0 ]do  modprobe iwlwifi connector_log=0x1   sleep 1  ifconfig wlan0 up 2>/dev/null 1>/dev/nulldoneiw dev wlan0 connect $id && \dhclient wlan0 && \echo "success!"
连接上ap后,输入iwconfig命令查看连接状态。确保无误后运行log_to_file记录CSI,然后在另一个终端输入ping命令,如下:

sudo ping 192.168.1.1 -i 0.05

ping后面接的是网关地址,i后面的参数是ping时间间隔,单位是秒。间隔小于0.2s需要root权限。

除了ap模式,CSI Tool还提供monitor模式的用法。监听模式不需要路由器,但是至少需要2台安装Intel 5300网卡的电脑,它比ap模式更加稳定,可以发送指定数量的包,可以设置发送包之间的间隔,以及信道和带宽。
下面便是monitor模式的设置:

injection模式启用需要编译。需要下载安装下面的一些文件具体步骤如下:sudo apt-get install libpcap-devgit clone https://github.com/dhalperi/lorcon-old.gitcd lorcon-old./configuremakesudo make installcd linux-80211n-csitool-supplementary/injectionmake使用:接收方:./setup_monitor_csi.sh.sh 64 HT20sudo ../netlink/log_to_file log.dat发送方:./setup_injection.sh 64 HT20sudo echo 0x4101 |sudo tee /sys/kernel/debug/ieee80211/phy0/iwlwifi/iwldvm/debug/monitor_tx_ratesudo ./random_packets 1 100 1

需要注意的是最后2行,0x4101是对发送速率的选择,需要根据自己的情况设置,每一位
的含义见下图。最后一行就是发送方发包命令,有4个参数,第一个是包的数量,第二个
是包的长度,第三个是模式,默认1就行。最后一个是发包间隔,单位us。

       
由于原来的setup_monitor_csi和setup_inject两个脚本运行会出现各种问题,所以需要修改一下,将代码替换到源文件就可以了。下面是两个脚本的代码:

setup_inject  
#!/usr/bin/sudo /bin/bashsudo modprobe -r iwldvm iwlwifi mac80211modprobe -r iwlwifi mac80211 cfg80211modprobe iwlwifi debug=0x40000if [ "$#" -ne 2 ]; then    echo "Going to use default settings!"    chn=64    bw=HT20else    chn=$1    bw=$2fiifconfig wlan0 2>/dev/null 1>/dev/nullwhile [ $? -ne 0 ]do            ifconfig wlan0 2>/dev/null 1>/dev/nulldoneiw dev wlan0 interface add mon0 type monitorifconfig wlan0 downwhile [ $? -ne 0 ]do    ifconfig wlan0 downdoneifconfig mon0 upwhile [ $? -ne 0 ]do           ifconfig mon0 updoneiw mon0 set channel $chn $bw

setup_monitor_csi

#!/usr/bin/sudo /bin/bashsudo modprobe -r iwldvm iwlwifi mac80211modprobe -r iwlwifi mac80211 cfg80211modprobe iwlwifi connector_log=0x1if [ "$#" -ne 2 ]; then    echo "Going to use default settings!"    chn=64    bw=HT20else    chn=$1    bw=$2fiiwconfig wlan0 mode monitor 2>/dev/null 1>/dev/nullwhile [ $? -ne 0 ]do    iwconfig wlan0 mode monitor 2>/dev/null 1>/dev/nulldoneifconfig wlan0 up 2>/dev/null 1>/dev/nullwhile [ $? -ne 0 ]do  ifconfig wlan0 up 2>/dev/null 1>/dev/nulldoneiw wlan0 set channel $chn $bw 
至此,CSI Tool的使用应该都讲完了。如果在使用中遇到问题,欢迎一起讨论。0(∩_∩)0
 


2 0
原创粉丝点击