常熟理工学院锐捷客户端 For Linux
支持X86_64、ARM32、ARM64、MIPS
使用方式
注 : 可以通过--help参数来获取程序运行帮助。
首先配置好IP地址和子网掩码以及网关和DNS
安装依赖(openwrt可以跳过此步骤)
sudoapt installlibpcap-dev
使用以下指令进行锐捷认证:
sudo ./jmu -u 学号 -p 密码 -s 0(教育网接入)1(联通宽带接入)2(移动宽带接入)3(电信宽带接入) -b
程序输出锐捷认证信息,或显示 login success, 则认证成功。
已测试稳定运行的设备
计算机:
Ubuntu 18.04
DeepinV20
路由器:
MT7621
MT7620
RaspberryPi 4B Raspi OS 64位
Redmi AX5
编译步骤
安装所需依赖,libpcap库和cmake工具
sudoapt install -y build-essential bison flex zlib1g-dev libncurses5-dev subversion quilt intltool ruby fastjar unzip gawk autogen autopoint libpcap-dev libnotify-dev cmake
编译(以树莓派4B为例)
普通编译
git clone https://github.com/MiChuancey/jmuSupplicant.git
cdjmuSupplicant
mkdirbuild
cdbuild
cmake ../
make
之后可以在 build/bin 目录下找到 jmuSupplicant 的可执行文件。
交叉编译
交叉编译需要先编译 libpcap ,之后再编译 jmuSupplicant。下面以交叉编译到 ar71xx 路由器为例:(以下代码中的一些参数需要根据你的实际情况做相应的修改,仅供参考)
获取目标设备的交叉编译工具链
(若下载缓慢,可以到清华大学镜像源以及中国科学技术大学镜像源下载相应工具链)
wget https://downloads.openwrt.org/releases/18.06.0/targets/ar71xx/generic/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz
tarxvJf openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz
配置环境变量
环境变量中的具体路径以及参数要根据你的实际情况做相应的修改,以下代码仅供参考:
exportPATH=$PATH:/home/xxx/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl/bin
exportCC=mips-openwrt-linux-gcc
exportCPP=mips-openwrt-linux-cpp
exportGCC=mips-openwrt-linux-gcc
exportCXX=mips-openwrt-linux-g++
exportRANLIB=mips-openwrt-linux-ranlib
exportLC_ALL=C
exportLDFLAGS="-static"
exportCFLAGS="-Os -s"
exportSTAGING_DIR=/home/xxx/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl
交叉编译 libpcap
wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
tarzxvf libpcap-1.9.0.tar.gz
cdlibpcap-1.9.0
./configure --host=mips-linux --with-pcap=linux
make
如果交叉编译 libpcap 的过程中遇到错误,不用担心,这里我们只需要用到 libpcap.a ,编译后能得到该文件即可。之后将该文件以及 libpcap 的相关头文件复制到工具链的目录中:
cplibpcap.a /home/xxx/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl/lib
cppcap.h /home/xxx/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl/include
cp -r pcap /home/xxx/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl/include
交叉编译 jmuSupplicant
git clone https://github.com/MiChuancey/jmuSupplicant.git
cdjmuSupplicant
mkdirbuild
cdbuild
cmake ../ -DCMAKE_FIND_ROOT_PATH=/home/xxx/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_C_COMPILER=/home/xxx/openwrt-sdk-18.06.0-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl/bin/mips-openwrt-linux-gcc
make
之后可以在 build/bin 目录下找到 jmuSupplicant 的可执行文件。
License
Apache version 2.0