实验的前期准备工作,主要是monitor模式下的使用,本文参考了博主 魂灵序曲的两篇博文,这里先贴出。感谢博主填坑:
修改驱动参数部分
驱动替换部分
本文的主要内容:
- 安装intel csi tool
- AP模式
- monitor模式
1. 安装intel csi tool
我使用的是Thinkpad X200 + Ubuntu 12.04进行实验。
安装部分我没用参考博主使用精简安装包,裁剪的安装包虽然变小但是安装步骤较为繁琐,这里使用修改git源的方法实现加速,同时make的速度也比较快。
直接开终端,贴出步骤:
sudo apt-get install gcc make linux-headers-$(uname -r) git-core
CSITOOL_KERNEL_TAG=csitool-$(uname -r | cut -d . -f 1-2)
git clone https://github.com.cnpmjs.org/dhalperi/linux-80211n-csitool.git
cd linux-80211n-csitool
git checkout ${CSITOOL_KERNEL_TAG}
注意这里第3步的git使用切换源实现加速,如果不能加速,搜索其他加速方式。
2020年我用的这几次速度提升是很大的。
接下来是修改驱动参数部分,贴出参考的博文地址:
https://blog.csdn.net/u014645508/article/details/81359409
修改步骤:
进入git下载完成的linux-80211n-csitool文件夹中修改驱动参数:
-
具体位置:
…/linux-80211n-csitool/drivers/net/wireless/iwlwifi/dvm/main.c -
搜索priv->connector_log,编辑:
priv->connector_log=iwlwifi_mod_params.connector_log;
修改为: priv->connector_log=1;
保存退出
完成修改之后开始编译,替换等步骤
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
注意我这里提示make命令中不能使用$(uname -r)了,可以直接将自己的路径填到命令中。
2. AP模式
AP模式操作相对简单,贴出步骤:
sudo modprobe -r iwlwifi mac80211
sudo modprobe iwlwifi connector_log=0x1
sudo linux-80211n-csitool-supplementary/netlink/log_to_file csi.dat
另开终端,ping路由器的IP地址
注意:
- 第1步完成之后如果出现提示:FATAL: Module iwlwifi is in use.
使用命令:sudo modprobe -r iwldvm iwlwifi mac80211 - 要求连接的Wi-Fi是没有密码的
2. monitor模式
我这里是使用了教程:https://blog.csdn.net/u014645508/article/details/82993718,感谢博主^^!
具体替换的驱动文件步骤,驱动文件下载以及配置参数含义也在这个教程中有详细说出,这里我简单贴出使用的命令。
发射机/接收机安装lorcon
sudo apt-get install libpcap-dev
git clone https://github.com/dhalperi/lorcon-old.git
cd lorcon-old
./configure
make
sudo make install
首次运行linux-80211n-csitool-supplementary下的injection需要make,那么 执行下面操作
cd ~
cd linux-80211n-csitool-supplementary/injection
make
接收机:
cd linux-80211n-csitool-supplementary/injection
./setup_monitor_csi.sh wlan0 13 HT20
sudo /home/csi/linux-80211n-csitool-supplementary/netlink/log_to_file log.dat
发射机
cd linux-80211n-csitool-supplementary/injection/
./setup_inject.sh wlan0 13 HT20
sudo echo 0x4101 | sudo tee /sys/kernel/debug/ieee80211/phy0/iwlwifi/iwldvm/debug/monitor_tx_rate
sudo ./random_packets 100000 100 1
注意
- 发射机的第4步我这里即使用sudo也会提示权限问题,因此我简单粗暴接切root用户执行:
su
echo 0x4101 | tee /sys/kernel/debug/ieee80211/phy0/iwlwifi/iwldvm/debug/monitor_tx_rate
- 先开接收端,再开发射端,完成接收。