参考
一、准备工作——发射器接收器都需要的操作
1、
1、sudo apt-get install gcc make linux-headers-$(uname -r) git-core
2、CSITOOL_KERNEL_TAG=csitool-$(uname -r | cut -d . -f 1-2)
image.gif
2、接下来按照官方教程应该通过以下方式下载CSITOOL
git clone https://github.com/dhalperi/linux-80211n-csitool.git
但是由于网速慢太难下了,可以直接把tar文件拷在Home目录下解压缩,已上传网盘:
3、接下来执行:
cd linux-80211n-csitool
git checkout ${CSITOOL_KERNEL_TAG}
make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/net/wireless/iwlwifi modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/net/wireless/iwlwifi INSTALL_MOD_DIR=updates modules_install
sudo depmod
cd ..
git clone https://github.com/dhalperi/linux-80211n-csitool-supplementary.git
for file in /lib/firmware/iwlwifi-5000-*.ucode; do sudo mv $file $file.orig; done
sudo 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.ucode
make -C linux-80211n-csitool-supplementary/netlink
如果要直接用AP模式的话可以执行以下步骤:
sudo modprobe -r iwlwifi mac80211
sudo modprobe iwlwifi connector_log=0x1
sudo killall wpa_supplicant
然后连接上没有密码的路由器,执行:
sudo linux-80211n-csitool-supplementary/netlink/log_to_file csi.dat
打开一个新的终端执行:
sudo ping 192.168.1.1 -i 0.005
这样AP模式就开始接收数据了
4、下载lorcon:
sudo apt-get install libpcap-dev
git clone https://github.com/dhalperi/lorcon-old.git
cd lorcon-old
./configure
make
sudo make install
二、配置Monitor模式
1、将发射器的/linux-80211n-csitool-supplementary/injection目录下的setup_inject.sh改为以下代码:
#!/usr/bin/sudo /bin/bash
rfkill unblock all
modprobe -r iwlwifi mac80211 cfg80211
modprobe iwlwifi debug=0x40000
ifconfig wlan0 2>/dev/null 1>/dev/null
while [ $? -ne 0 ]
do
ifconfig wlan0 2>/dev/null 1>/dev/null
done
iw dev wlan0 interface add mon0 type monitor
sudo ifconfig wlan0 down
sudo ifconfig mon0 up
iw mon0 set channel $1 $2
ifconfig mon0 up
sudo chmod 777 /sys/kernel/debug/
sudo chmod 777 /sys/kernel/debug/tracing/
echo 0x4101 | sudo tee `find /sys -name monitor_tx_rate`
将接收器的/linux-80211n-csitool-supplementary/injection目录下的setup_monitor_csi.sh改为以下代码
#!/usr/bin/sudo /bin/bash
modprobe -r iwlwifi mac80211 cfg80211
modprobe iwlwifi connector_log=0x1
# Setup monitor mode, loop until it works
iwconfig wlan0 mode monitor 2>/dev/null 1>/dev/null
while [ $? -ne 0 ]
do
iwconfig wlan0 mode monitor 2>/dev/null 1>/dev/null
done
echo "1234444"
ifconfig wlan0 up
iw wlan0 set channel $1 $2
ifconfig wlan0 up
2、在两台机子上都执行以下命令:
cd ~
cd linux-80211n-csitool-supplementary/injection
make
三、启动Monitor模式
在/linux-80211n-csitool-supplementary/injection下执行以下步骤,即先cd /linux-80211n-csitool-supplementary/injection
发射端:
./setup_inject.sh 64 HT20
sudo ./random_packets 10000 100 1 1000
接收端
./setup_monitor_csi.sh 64 HT20
sudo ../netlink/log_to_file log.dat
如果发射端在重启之后正常启动,但是接收端没有接收到数据的话,就把发射器机子上的/linux-80211n-csitool-supplementary/injection文件夹下的.o文件删掉,然后在该目录下重新make就可以了。