updateing/minieap

v0.92.1无法正常通过动态IP校验

Opened this issue · 5 comments

当锐捷SAM服务器设定需要校验用户IP为动态IP时,dhcp-type选项0,2,3均无法通过。
已知:

  • 学校服务器未设置二次认证,官方客户端也无需二次认证
  • MentoHUST能成功通过IP校验(但是无法通过客户端校验)
  • 服务器认证日志提示:“用户动态IP地址类型绑定错误”

另外,当锐捷服务名为中文时,发送的字符串是UTF-8,但是服务器是GBK。导致命令行无法认证,需要使用iconv转换配置文件编码

服务器认证日志提示:“用户动态IP地址类型绑定错误”
这个是因为在start,id,MD5包里面有第二段的mac地址,找出来把这段mac地址覆盖掉就可以。
若提示非法客户端,请使用管理员指定的客户端等。把checkv4.c里面两个长数组替换下,具体参考
https://github.com/shanzhaozhen/mentohust_for_zqu/blob/master/src/checkV4.c
关于服务名的问题,程序应该是直接复制字符串转换成16进制填进去的,没有考虑gbk编码问题,我也在思考这个问题,最简单的就是直接把发送服务名那直接用准确的gbk编码直接覆盖。

你也可以直接使用此项目测试。

@nature2608 大佬,请问第二段mac地址具体在哪呢

@rote66 你可以直接抓包查找看,在v4校验值前面,很好找的。

@rote66 你可以直接抓包查找看,在v4校验值前面,很好找的。

找出来然后替换成本机mac地址么,我这边验证网卡的地址

关于原 issue 所说问题:

  1. 动态 IP 地址类型绑定错误:请尝试用 master 分支的代码重新编译。其中包含了一个 DHCP 状态位错误的修复。
  2. 服务类型编码:目前认定属于外部输入问题,请使用 --service "$(echo -n 服务 | iconv -f utf8 -t gbk)",后续可考虑加一个类似于 --service-as-gbk 的选项来自动转换。