Hamster Tian

Results 91 comments of Hamster Tian

是这样说,应该对学校提出要求,而且我在每个 issue 最开头也是说先尝试学校的 Linux 版本了。但确实不能指望学校太多(最近发生一些事让我对我校网络中心的印象变差很多)……

除此之外也可能有心跳间隔问题。超出宽限期后就会掉线。 Windows 的心跳包确实会不同,不清楚现在这样简单的心跳是否通用……

不是,是很简单的[格式](https://github.com/updateing/minieap/blob/master/packet_plugin/rjv3/packet_plugin_rjv3_keepalive.c#L93),从 MentoHUST 继承过来的……

认证用的三个包是根据抓官方 Linux 版的包得到的字段列表自己生成出来的,不是套模板改出来的。

> 所以意思就是说实际上这个学校的设置还是能用 Linux 的客户端的? 这应该要等他说明…… > 另外你提到了字段和客户端版本的问题,这么说来不是通过 md5 计算的结果判断的? 这样一说,局端可以判断 EAP 规定中的 MD5 字段与私有 hash 是否一起能通过认证。若 EAP 规定的字段通过了而私有 hash 没有通过,则可以说明用户使用了非指定客户端。但锐捷设计时应该是考虑了实际环境中可能存在多个版本客户端,即使是正确的密码也会有多种不同的 hash。要支持环境中所有的客户端的话,局端就要在每次认证时把所有可能的 hash 都算出来…… 不知道是不是真的这样,要是真的话私有 hash 就可以拿来判断版本了。等 @ifwangs 说明吧……

校验不是重点了的话,剩下的字段就很有趣了。 [这里](https://github.com/updateing/minieap/blob/master/packet_plugin/rjv3/packet_plugin_rjv3_priv.h#L10)是已知字段 ID 的列表,[这里](https://github.com/HamsterReserved/misc_scripts/blob/master/rj_property_reader.c)是查找任意文件中的字段的工具(其实就是在找 `1a xx 00 00 13 11` 这个 magic),后者可以直接以抓包文件做参数。可以比较一下,看看是否有上面说的那些字段。 心跳包也可能会跟着字段列表,也可以用上面的工具辅助分析。

你画出来的地方恰好是心跳包中的 echono 和 echokey 组合出来的字段。按 [MentoHUST](https://github.com/updateing/mentohust-proxy/blob/962715e9f522a0b7e1e19758fed6c547cea51a33/src/myfunc.c#L482) 和[本项目](https://github.com/updateing/minieap/blob/master/packet_plugin/rjv3/packet_plugin_rjv3_keepalive.c#L98)的理解,一个是随机的,一个要从 success 中读取。抓出来不一样很正常。 你说的心跳发不出去是指抓包结果里都没有心跳包出现,还是发出去了没作用?是否考察过发送间隔?

是不是到后台了,然后又报错退出了…… 此外,南一楼的心跳间隔可能要改短点。

1. fake-dns1 影响的是在 `8021x.exe` 之前数据中的 DNS 地址,与 fake-dns2 不同。如果要模拟图中的情况,可以用 `--fake-dns2="61.150.47.1;210.27.80.2"` 2. 邮件中问到心跳的问题,找 key 的逻辑在 https://github.com/updateing/minieap/blob/master/packet_plugin/rjv3/packet_plugin_rjv3_priv.c#L529