安装抓取WIFI CSI的工具

发布于:2022-12-06 ⋅ 阅读:(469) ⋅ 点赞:(0)

前言:由于开放的CSI工具特别多,不同开发者的版本对应着不同linux内核环境,本博客选用linux16.04版本,不推荐使用linux14.04等其他版本的csi tool,设置很繁琐。这里我们选用性价比高的intel 5300网卡进行CSI数据的获取。在购买到5300网卡,连接至主机后,开始安装环境。

  • 本文使用的是 spanev github 开发的CSI tool:

GitHub - spanev/linux-80211n-csitool: 802.11n CSI Tool based on iwlwifi and Linux


  • 下载安装linux 16.04.7内核为4.15.0-112-generic的 Ubuntu系统

  • e07d8c04dffc4b8bbcbe2ad23d45d821.png

  • 制作系统盘,安装ubuntu系统

    系统盘制作软件rufus,制作参考该网址,ubuntu安装过程参考这里;当然,用ultroiso安装也绝没有问题~

  • ubuntu更换镜像,关闭更新

    44bf5eb21a184d75bc9f6748293d84bf.png

    5c4d0e5b2f0145beb442831c89320814.png

    sudo apt-get update;sudo apt-get upgrade
    在linux里面修改镜像源,之后执行以下代码重新更新(镜像源选的aliyun,更新关闭是防止内核升级,不适配CSI tool)。

  • 查看内核版本

uname -r 

     应该会显示 内核版本为: 4.15.0-112-generic


  • 安装git包

后续需要git下载csi tool工具

sudo apt install build-essential linux-headers-$(uname -r) git-core

  • 验证所需GCC、G++ 版本是否正确

ls -l /usr/bin/gcc /usr/bin/g++

大致会显示如下版本: 

lrwxrwxrwx 1 root 5 Mar 27  2018 /usr/bin/g++ -> g++-5
lrwxrwxrwx 1 root 5 Mar 27  2018 /usr/bin/gcc -> gcc-5

 当然,此处开发者也给出了高版本内核中gcc和g++的升级办法。高核用户可参见这里


  • 构建和安装修改的无线驱动程序

  • 克隆修改后的Linux内核代码
git clone https://github.com/spanev/linux-80211n-csitool.git
cd linux-80211n-csitool
  • 检查正确的发布版本
CSITOOL_KERNEL_TAG=csitool-$(uname -r | cut -d . -f 1-2)
git checkout ${CSITOOL_KERNEL_TAG}
  • 为现有内核构建修改后的驱动程序
make -j `nproc` -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/net/wireless/intel/iwlwifi modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/net/wireless/intel/iwlwifi \
> INSTALL_MOD_DIR=updates modules_install

 如报以下错误,可以忽略:

- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
sign-file: certs/signing_key.pem: No such file or directory
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

此时,安装全部完毕。

  • 验证CSI是否工作

首先,将电脑连接至无需密码的WIFI网络中;

分别执行 关闭 和 开启 iwlwifi ,并执行log_to_file.c 将抓取的数据保存至csi.data文件中。

sudo modprobe -r iwlwifi mac80211		

sudo modprobe iwlwifi connector_log=0x1	

sudo linux-80211n-csitool-supplementary/netlink/log_to_file csi.dat

 不要使用ifconfig查看IP,那是电脑的IP,ping自己的电脑网卡是抓不到包的。而是查找连接到的WIFI的路由器的IP地址,打开 网络连接信息即可看到。然后打开另一个终端,输入

ping #router's IP address# -i 1

如: 

ping 192.168.3.1 -i 1

cb7483f5a95049a189ea4ce9b6be5fac.jpeg

未来,需要抓取CSI时,仅需调用  验证CSI是否工作 的代码执行,执行后 ,数据全部存在csi.data中。

非常感谢前人的研究与分享:

主要参考:

在Ubuntu 16.04上安装Intel 5300 CSI tool的全过程_huanglianghuang的博客-CSDN博客2.根据自己需求选择合适的磁盘,我选择把I盘留给linux系统,这里我之前已经分好区了,但是做系统需要一个空磁盘,所以在I盘处右键选择删除卷,会发现它从主分区变成一个未分配的盘。2.插好U盘,重启过程中按住F12,进入启动选项界面,选择U盘,我这里是金士顿的,如图。将电脑关机,按下开机键之后立刻按住F1,直到出现如下界面:(这是联想电脑进入BIOS模式的方法)(3)看看硬盘驱动器处是不是显示出了U盘,没显示就重新插入一下,点击写入!(1)在试用ubuntu与安装ubuntu之间选择安装ubuntu,https://blog.csdn.net/qq_41511783/article/details/127049587?spm=1001.2014.3001.5502ubuntu系统安装,配置csitool工具,收发无线数据_把夜晚都照亮的博客-CSDN博客_csitool1、Ubuntu镜像下载地址1:14.04,16.04,18.04下载地址2:12.04~19.04安装太高的版本,不行,比如20.04版本2、ubuntu系统安装步骤(各个版本都可):https://blog.csdn.net/qq_38962621/article/details/87390603?utm_source=app3、安装Linux 802.11n CSI tool安装教程:参考1:https://blog.csdn.net/u014645508/article/detailshttps://blog.csdn.net/m0_45150312/article/details/116949610

 涉及到的开源工具:

https://github.com/spanev/linux-80211n-csitool

Linux 802.11n CSI Tool — Installation Instructions


网站公告

今日签到

点亮在社区的每一天
去签到