linux运行h3c校园网,H3C Lite轻量级校园网认证Linux客户端(For SHNU)

2014年7月15日Update:

代码已完全重构,使用纯C编写。

项目主页:github.com/gmsj0001/h3clite

7月18日Update:

添加OpenWRT的UCI与LuCI控制界面(基于netifd,适用于AA及以上版本,不适用Backfire),如图。详情见github。

ae3df4c8f6934d72c061cf3e225f1f24.png

—————————————————————————————————————————-

H3C Lite 轻量级H3C 802.1x校园网认证Linux客户端(SHNU 2013协议版本)

====特点====

轻量精简,单文件,源代码5K,编译后仅10K。使用原生RAW socket,无需安装python(YaH3C与OH3C)、libpcap(njit-client)等任何支持库。方便阅读,同时非常方便部署到路由器中。

用法:h3clite username password [interface]

本程序只负责认证,认证成功后请运行dhclient或udhcpc手动获取IP地址。

====编译====

桌面环境:

gcc h3clite.c -std=c99 -o h3clite

OpenWRT:

1、下载所需版本与硬件的交叉编译工具链(以版本12.09,硬件RG100A为例):http://downloads.openwrt.org/attitude_adjustment/12.09/brcm63xx/generic/OpenWrt-Toolchain-brcm63xx-for-mips-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2

2、./toolchain-mips_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-gcc h3clite.c -std=c99 -o h3clite

====定制====

本项目适用于SHNU 2013版协议。欢迎有技术基础的朋友fork项目以定制自己学校的版本。一些要点:

1、大部分情况只需修改文件末尾的eap_handle_XXX函数。对于不同版本的iNode,请用wireshark抓包得到新的数据替换eap_handle_identity中的base64字串。这部分的算法可参考njit-client。

2、如代码所示,SHNU的MD5 Challenge实际上只是个XOR,需要MD5算法的可从njit-client中粘一个过来。

3、使用多播方式触发EAPOL请将s_broadcast_addr修改为01-80-c2-00-00-03。

4、某些协议会使用其它的Request type,如用编号7的ALLOCATED代替MD5,需要修改authentication中间相应部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值