锐捷、赛尔认证MentoHUST

来自Ubuntu中文
Hustmoon留言 | 贡献2009年11月25日 (三) 08:49的版本
跳到导航跳到搜索

作者:HustMoon

程序简介

  • MentoHUST是一个支持Windows、Linux、Mac OS下锐捷认证的程序(附带支持赛尔认证)
  • Windows版MentoHUST支持Windows所有主流版本,与锐捷官方程序相比最大的优势是内存占用低,现已基本停止更新,现在锐捷官方程序也在改进中,所以建议在Windows下还是使用官方程序。
  • Linux版MentoHUST与Windows版兼容,所以如果能够在Windows下使用MentoHUST认证成功,就不必担心安装了Linux后不能使用校园网(当然是指用锐捷的学校)。锐捷官方Linux版久无更新,使用官方程序很多同学无法通过认证,有些能通过但容易掉线。虽然网上第三方Linux版锐捷客户端不少,但都大同小异,不能通过锐捷的客户端校验。Linux版MentoHUST是一个在Linux下与锐捷兼容性较好的认证客户端,方便使用Linux和锐捷的同学使用校园网。
  • Mac OS版MentoHUST是后来对Linux版MentoHUST在Mac OS上的编译(gcc很好很强大,赞)。

主要功能

  • 支持锐捷V2客户端校验算法(暂不支持V3算法,盼高手出现)
  • 支持多网卡
  • 较好模拟锐捷各版本数据,支持大多数锐捷版本
  • 支持静态IP和DHCP(动态IP)认证
  • 支持静态IP用户自定义IP(即绑定IP可与上网IP不同)
  • 支持服务器消息提示和计费信息提示
  • 认证成功稳定在线,即使掉线也可自动重连,支持ping某个IP智能重连
  • 有相关工具支持,可自定义数据包以实现尽可能的兼容,无需修改代码即可兼容很多版本
  • 支持赛尔认证

相关链接

联系方式

使用方法

  • 由于Windows版MentoHUST有良好的GUI界面,所以不在讨论范围。
  • 以下所有内容都假定您下载的是Linux版MentoHUST当前(截至到2009.11.19)最新版0.3.0
  • MacOS版MentoHUST使用方法与Linux版相同。

安装

  • 本程序依赖于libpcap,所以系统中必须要有libpcap.so.0.8、libpcap.so.0.9、libpcap.so.1.0、libpcap.so.1.1中的一个,现在主流的发行版都满足这一条件
  • 建议Ubuntu用户使用deb包安装,Fedora用户使用rpm包安装,非要使用其他形式安装的请自行解决
  • 下载地址:http://code.google.com/p/mentohust/downloads/list

配置及认证

  • MentoHUST参数丰富,以最大程度适应不同学校的不同锐捷认证环境。本程序使用配置文件(/etc/mentohust.conf)保存参数,虽然该配置文件是还算标准的ini格式文件,并不复杂,但还是有人因多加空格或;导致配置出现问题,所以不建议手工修改配置文件来设置参数。
  • 打开终端,输入sudo mentohust -h,将显示如下内容:
欢迎使用MentoHUST	版本: 0.3.0
Copyright (C) 2009 HustMoon Studio
人到华中大,有甜亦有辣。明德厚学地,求是创新家。
Bug report to http://code.google.com/p/mentohust/issues/list
用法:	mentohust [-选项][参数]
选项:	-H 显示本帮助信息
	-K 退出程序
	-W 保存参数到配置文件
	-U 用户名
	-P 密码
	-N 网卡名
	-I IP[默认本机IP]
	-M 子网掩码[默认本机掩码]
	-G 网关[默认0.0.0.0]
	-S DNS[默认0.0.0.0]
	-O Ping主机[默认0.0.0.0,表示关闭该功能]
	-T 认证超时(秒)[默认8]
	-E 响应间隔(秒)[默认30]
	-R 失败等待(秒)[默认15]
	-A 组播地址: 0(标准) 1(锐捷) 2(赛尔) [默认0]
	-D DHCP方式: 0(不使用) 1(二次认证) 2(认证后) 3(认证前) [默认0]
	-B 是否后台运行: 0(否) 1(是,关闭输出) 2(是,保留输出) 3(是,输出到文件) [默认0]
	-Y 是否显示通知: 0(否) 1~20(是)[默认5]
	-F 自定义数据文件[默认不使用]
	-C DHCP脚本[默认dhclient]
例如:	mentohust -Uusername -Ppassword -Neth0 -I192.168.0.1 -M255.255.255.0 -G0.0.0.0 -S0.0.0.0 -O0.0.0.0 -T8
-E30 -R15 -A0 -D1 -B0 -Fdefault.mpf -Cdhclient
使用时请确保是以root权限运行!
  • 下面逐一解释各参数。
-H 或 -h 或 -?:显示帮助信息,也就是上面的内容。
-K 或 -k:MentoHUST支持daemon运行(也就是认证成功后可以关闭终端而认证不会中断),当进入daemon运行方式后,是不能像没有进入这一模式
时一样通过Ctrl+C退出的,这时如果需要退出就可以使用sudo mentohust -k。
-W 或 -w:在命令行参数中指定的参数默认不会保存到配置文件,如果需要保存,请加上该参数,例如sudo mentohust -uhust -p123456 -w
将把用户名更新为hust,密码更新为123456。
-U 或 -u,-P 或 -p,-N 或 -n:分别指定用户名、密码、网卡,这三个参数如果不指定就会自动判断是否需要输入。
-I 或 -i,-M 或 -m,-G 或 -g,-S 或 -s:用于静态IP用户指定学校分配的IP、子网掩码、网关、DNS,其中好像只有IP会影响认证是
否成功(要想正常上网,还必须要在NetworkManager中设置IP、子网掩码、网关、DNS,在NetworkManager中设置好后在mentohust
中可以不设置这些),对于动态IP用户,这些参数无效。
-O 或 -o:指定智能重连时用来ping的目标IP,例如未认证时IP1.2.3.4无法ping通,认证成功后可以ping通,就可以加上参数-o1.2.3.4,当掉
线且未收到服务器下线通知时会在掉线1分钟之内重连(除非网络不好,一般不会掉线,掉线且收到服务器下线通知时会在掉线后立即重连)。
-T 或 -t:指定认证时多少秒后仍未收到服务器回应则重启认证,一般保持默认即可。
-E 或 -e:指定认证成功后每隔多少秒向服务器发送一次数据以表明自己仍然在线,一般保持默认即可。
-R 或 -r:由于有些学校会规定认证失败后一定时间内不允许再次认证,所以在这期间不论发多少数据服务器都不会响应,为了减少这
种垃圾数据,MentoHUST会在认证失败后等待一段时间或者服务器向客户端请求数据时再认证,这个时间就由此参数指定,一般保持默认即可。
-r15并不是说在认证失败后15秒才会再次认证,如果在15秒内服务器发来一个数据包要求开始认证,MentoHUST会放弃等待,立即开始再次认证。
-A 或 -a:指定组播地址或客户端类型,-a0标准 -a1锐捷私有,这两个分别对应于锐捷中的标准和私有,有些学校只能用标准,有些学校只能用私
有,所以如果提示“找不到服务器”而网卡并没有选错,就检查是不是这里设置错了。-a2表示将MentoHUST用于赛尔认证(赛尔的用-a0标准也行)。
-D 或 -d:指定DHCP方式,使用动态IP的同学应该在这里正确设置,一般不是1就是2,如果用3认证成功却无法上网,请改成1试试。
使用静态IP的同学应该将这里设为0。
-B 或 -b:指定后台(daemon)运行方式,-b0不后台运行,这时认证成功后不能关闭终端;-b1、-b2后台运行,前者看不到输出,后者保留输出;
-b3后台运行并将输出保存到/tmp/mentohust.log,可以随时打开该文件查看输出。
-Y 或 -y:指定是否显示通知(notify),-y0不显示,1~20显示,其中数字指定通知持续时间(由于Ubuntu采用了新的通知机制,所以只在Fedora
下时间才有效)。当该参数不为0且系统中有libnotify.so.1(几乎所有系统都有该文件),可显示如下效果的通知(上Ubuntu,下Fedora)
通知效果
-F 或 -f:由于MentoHUST内置数据包是与xrgsu兼容的(即如果用xrgsu能认证成功,用MentoHUST不设置这个参数就也能认证成功),
有些学校关闭了xrgsu的认证(一般提示“不允许使用的客户端类型”),这时就需要正确指定该参数。到http://lewuya.ys168.com/
下载Windows版MentoHUST V2.4和相应版本的mpf文件,然后运行其中的MentoHUSTTool,通过捕获锐捷认证时的数据包,
将所下载的mpf文件修改成适合自己的,然后将其路径指定在这个参数中,设置正确的话认证时会输出“客户端版本”和“md5校验值”。
这一步的确有点麻烦,必须在Windows下才能完成(废话,锐捷当然只能在Windows下运行),但这一麻烦步骤是MentoHUST无须修改
源代码即可支持众多版本(包括V2客户端校验算法)的精髓所在,而且可以索要到别人修改好的文件的话,就不用自己修改。
-C 或 -c:指定动态IP用户DHCP时运行的脚本,一般保持默认即可。如果觉得这个输出太多影响和谐,可以改为-cdhclient>/dev/null。
MacOS用户可尝试将它改成ipconfig set en0 DHCP,其中en0要与网卡名相同(sudo mentohust -c'ipconfig set en0 DHCP' -w)。
  • 配置及认证例子
某静态IP(192.168.1.10)用户,用户名hust,密码123456,希望ping192.168.1.254智能重连,同时deamon方式保存输出到文件
首先在NetworkManager中配置好IP、网关、掩码、DNS等信息,然后
sudo mentohust -uhust -p123456 -o192.168.1.254 -b3 -w
下次认证时只需 sudo mentohust
退出 sudo mentohust -k
某动态IP用户(二次认证),用户名hust,密码123456,使用数据文件/etc/mentohust/3_73.mpf
sudo mentohust -uhust -p123456 -d1 -f/etc/mentohust/3_73.mpf -w
下次认证时只需 sudo mentohust
退出 按键Ctrl+C
已经设置好了相关参数,需要临时使用用户名为hust@hust,密码与原密码相同的账号认证
sudo mentohust -uhust@hust

开机运行

  • 建议需要开机运行的用户使用sudo mentohust -b3 -y5 -w将MentoHUST设置为daemon运行并保存输出到/tmp/mentohust.log,开启消息通知功能。
  • Ubuntu、Fedora用户:选择菜单“系统->首选项->启动应用程序”,点击“添加”,输入名称MentoHUST,命令sudo mentohust,点击“添加”即可。
  • 修改系统配置文件方式:高级方式,自行解决。
  • MacOS用户:待编辑。

支持情况

支持院校

  • 对于允许xrgsu认证的院校,使用官方程序xrgsu或者mentohust不设置数据文件即可认证成功,这类院校比较多,所以不在此列出。在此列出的主要是那些不允许xrgsu认证但可以通过mentohust设置数据文件认证成功的院校。欢迎有此类经历的同学将自己学校的大名写在下面以方便后来人。
  • 四川大学(组播地址:标准 DHCP方式:认证后 数据文件:3_73.mpf)
  • 西安电子科技大学(组播地址:锐捷 DHCP方式:认证前 数据文件:3_35.mpf)

不支持院校

  • 不支持的院校一般是学校不允许xrgsu认证同时开启了锐捷V3客户端校验算法,这类院校基本无缘在非Windows平台下使用校园网(下策:可以通过虚拟机的方式解决)。欢迎有此类经历的同学将自己学校的大名写在下面以方便后来人;同时盼望有高手能解决锐捷V3算法,以解脱以下院校同胞[1]
  • 合肥工业大学