updateing / minieap

可扩展的 802.1x 客户端,带有锐捷 v3 (v4) 算法插件支持
GNU General Public License v3.0
514 stars 93 forks source link

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

Open BoringCat opened 5 years ago

BoringCat commented 5 years ago

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

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

nature2608 commented 5 years ago

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

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

rote66 commented 5 years ago

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

nature2608 commented 5 years ago

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

rote66 commented 5 years ago

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

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

updateing commented 5 years ago

关于原 issue 所说问题:

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