当前位置:   article > 正文

安装抓取WIFI CSI的工具_esp-wifi-csi

esp-wifi-csi

前言:由于开放的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安装也绝没有问题~  

        注意: 安装系统前需要进入boot模式,把安全disable掉。

  • ubuntu更换镜像,关闭更新

    44bf5eb21a184d75bc9f6748293d84bf.png5c4d0e5b2f0145beb442831c89320814.png

    sudo apt-get update
    在linux里面修改镜像源,之后执行以下代码重新更新(镜像源选的aliyun,更新关闭是防止内核升级,不适配CSI tool)。 注意:右上图示意有误,需要把第一个重要更新选中,然后在执行完 安装各种包:git,ncurses-dev等 后关闭
  • 在安装系统后,或许会因为没网卡驱动无法联网。此时可以找一个USB网卡(Linux免驱版)上网后,下载更新一些安装的必要依赖。

  • 查看内核版本

uname -r 

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

然后 我按照 魂灵序曲 的博客执行到14步。

首先tool工具要么git下载,要么自己手动下载后,解压使用。这里一共需要三个tool:

一、首先下载魂灵序曲 提供的简易内核: intel-5300-csi-github-master.tar.gz

下载地址:https://download.csdn.net/download/u014645508/10579514

二、国外的一个5300以及补充包:

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

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

可以提前下载好,也可以git下载安装。


安装各种包:git,ncurses-dev等

  1. sudo apt-get -y install git-core fakeroot build-essential ncurses-dev
  2. sudo apt-get -y install libnl-3-dev libssl-dev
  3. sudo apt-get -y install kernel-package

注意:kernel-package 中间有个选项,直接选当前local。好象也是默认的第二项。在安装完以上依赖包后,可以关闭系统的全部更新项。

5c4d0e5b2f0145beb442831c89320814.png

解压这个内核:

  1. tar -xvf intel-5300-csi-github-master.tar.gz
  2. cd intel-5300-csi-github
  3. make oldconfig

(一路按回车即可)

2. (会弹出一个窗口, 命令窗口拉大一些)

make menuconfig

3. make -j3   也可以变编译一些 make -j5   (这个时间长)

make -j5

4. sudo make install modules_install   

sudo make install modules_install

5. sudo make install

sudo make install

6. sudo make install modules_install

sudo make install modules_install

这里 我把3-6整理一下:

  1. make -j5
  2. sudo make install modules_install
  3. sudo make install
  4. sudo make install modules_install
  5. cd ..

然后在执行一下步骤。

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

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

大致会显示如下版本: 

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

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

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

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

  1. - SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
  2. - SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
  3. sign-file: certs/signing_key.pem: No such file or directory
  4. - SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
  5. - SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
  6. sign-file: certs/signing_key.pem: No such file or directory
  7. - SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
  8. - SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
  9. sign-file: certs/signing_key.pem: No such file or directory
  1. sudo depmod
  2. cd ..
  1. git clone https://github.com/dhalperi/linux-80211n-csitool-supplementary.git
  2. for file in /lib/firmware/iwlwifi-5000-*.ucode; do sudo mv $file $file.orig; done
  3. sudo cp linux-80211n-csitool-supplementary/firmware/iwlwifi-5000-2.ucode.sigcomm2010 /lib/firmware/
  4. sudo ln -s iwlwifi-5000-2.ucode.sigcomm2010 /lib/firmware/iwlwifi-5000-2.ucode
  5. make -C linux-80211n-csitool-supplementary/netlink

此时,安装全部完毕。

  • 验证CSI是否工作

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

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

  1. sudo modprobe -r iwlwifi mac80211
  2. sudo modprobe iwlwifi connector_log=0x1
  3. 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/315256
推荐阅读
相关标签
  

闽ICP备14008679号