2014年7月15日Update:

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

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

7月18日Update:

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

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

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中间相应部分。

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

  1. linux运行geant4例子,四步轻松安装Geant4 (Linux篇) | 入门

    最近开始为订阅号"Geant4不完全学习指南"写一些文章. 正文开始. 四步轻松安装Geant4 (Linux篇) | 入门 软件版本:Ubuntu16.04,Geant4.10. ...

  2. linux运行.pak文件,使用game-to-flatpak脚本将商业Linux游戏安装程序转换为Flatpak应用程序...

    现在有一个新的脚本,它允许你将各种商业Linux游戏的安装程序转换成可以在各种GNU/Linux发行版上运行的Flatpak软件包. 这是一个开源的shell脚本,由GNOME开发人员Bastien ...

  3. linux运行office2016,CrossOver 17让您可以在Linux上安装Microsoft Office 2016

    CodeWeavers的Josh DuBois今天宣布推出CrossOver 17.0.0商业应用程序,让Linux和macOS用户可以安装专为Microsoft Windows设计的应用程序和游戏. ...

  4. linux 运行go文件路径,go程序部署到linux上运行-Go语言中文社区

    go 语言版本:go1.9.2 开发环境:win10 部署环境:ubuntu 14.04.6 一.win10上的操作 1.在src目录下依次执行set CGO_ENABLED=0.set GOOS=l ...

  5. linux运行游戏模拟器,Linux_用XMAME模拟器在Linux上玩游戏,安装:如果你使用的是debian或 - phpStudy...

    用XMAME模拟器在Linux上玩游戏 安装:如果你使用的是debian或者ubuntu, $sudo apt-get instal xmame-common xmame-sdl xmame-svga ...

  6. linux运行c语言实验总结,实验三:LINUX 下C语言使用、编译与调试实验

    一.目的: 1. 练习并掌握Linux提供的vi编辑器来编译C程序 2. 学会利用gcc.gdb编译.调试C程序 3. 学会使用make工具 二.内容 1. 编写C语言程序,用gcc编译并观察编译后的 ...

  7. linux 运行cmd文件,cmd文件如何在虚拟linux下运行

    在windows下写了一个.cmd文件,在linux下用调用的时候出现错误LECT_FIC_F_ error opening file,文件内容如下: variable datfile$, logfi ...

  8. 使用 CrossOver 在 Linux运行 Windows 软件(金测OK)

    使用 CrossOver 在 Linux运行 Windows 软件 即便是最忠实的 Linux 用户,有时候也需要运行一下 Windows  软件.有的用户为此保留了一台旧的 Windows PC,有 ...

  9. corssover linux运行无效,使用 CrossOver 在 Linux运行 Windows 软件(金测OK)

    使用 CrossOver 在 Linux运行 Windows 软件 即便是最忠实的 Linux 用户,有时候也需要运行一下 Windows  软件.有的用户为此保留了一台旧的 Windows PC,有 ...

  10. kali 运行java_kali linux运行java程序

    我一般是在windows上运行java程序.这次在kali linux上运行java程序.在我们安装的kali linux2.0是自带了OpenJdk.下面是学习啦小编跟大家分享的是kali linu ...

最新文章

  1. 开发时,尤其是最初的版本,只要保持有80%的功能即可
  2. 国内下载 Python 源码特别慢
  3. java学习(18):巩固练习
  4. display inline-block 垂直居中
  5. html加css绘制oprea的logo,拾人牙慧 – CSS3实现Opera浏览器的logo
  6. asp网站服务器软件,asp服务器软件
  7. 试图运行项目时出错:无法启动调试 没有正确安装调试器
  8. hdu 6108 小C的倍数问题
  9. Redis+Nginx+设计模式+Spring全家桶+Dubbo+阿里P8技术精选文档
  10. bzoj4754: [Jsoi2016]独特的树叶
  11. c语言第三周编程作业答案,c语言程序设计第3周编程作业(数字特征)
  12. 【C语言】05-printf和scanf函数
  13. Fiddler抓包工具之详细使用步骤(超详细)
  14. 《未来世界的幸存者》读后有感
  15. ORA-00001: 违反唯一约束条件
  16. 最新团长头像制作小程序源码+云开发的/支持流量主
  17. linux征途架设教程,Linux下征途私服架设详细教程
  18. linux san网络,教你如何DIY SAN存储网络
  19. 重复博弈reapted games
  20. 3款大数据bi工具,让企业数据分析更简单

热门文章

  1. java 导出excel 有图表的_java导出excel图表
  2. mock gps android,MockGPS: Android application to fake GPS
  3. 读完两遍《STL源码剖析》后,我发现了一些辛秘
  4. Idea Java开发必备插件
  5. java软件工程师自我评价_java开发简历自我评价【java简历自我评价模板】
  6. 简易的Python小游戏
  7. python必背100源代码-python 100例 (持续更新)
  8. Aardio格式化代码工具
  9. CVPR2020-深度图超分辨率DSR新方法| Channel Attention based Iterative Residual Learning for Depth Map SR
  10. vim编辑器中常用的命令