admin管理员组

文章数量:1540706

前言:由于开放的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系统

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

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

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

  • ubuntu更换镜像,关闭更新

    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/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等

sudo apt-get -y install git-core fakeroot build-essential ncurses-dev

sudo apt-get -y install libnl-3-dev libssl-dev 

sudo apt-get -y install kernel-package

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

解压这个内核:

tar -xvf intel-5300-csi-github-master.tar.gz

cd intel-5300-csi-github

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整理一下:

make -j5

sudo make install modules_install

sudo make install

sudo make install modules_install
 
cd ..
 

然后在执行一下步骤。

验证所需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

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

  • 克隆修改后的Linux内核代码,或者tar -xvf 解压自己下载的.tar.gz文件。
git clone https://github/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
- 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
- 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/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

未来,需要抓取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/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/qq_38962621/article/details/87390603?utm_source=app3、安装Linux 802.11n CSI tool安装教程:参考1:https://blog.csdn/u014645508/article/detailshttps://blog.csdn/m0_45150312/article/details/116949610

 涉及到的开源工具:

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

Linux 802.11n CSI Tool — Installation Instructions

本文标签: 工具wificsi