updateing/minieap

关于中文服务类型以及版本号字符串的确认以及参数处理

Closed this issue · 17 comments

昨晚用docker搭建了编译环境,然后兴致勃勃的将minieap编译到k2的mtk平台,成功的在openwrt上跑起来了.但是遇到了锐捷验证的问题.

  • 首先是服务类型的问题.我们学校使用中文名称作为服务类型.一共是这几个选项移动 电信 联通 校园网 如图所示.我想知道的是根据help要将服务名称转化为ASCII字符.但我将电信转为&#x7535&#x4fe1传入后--service &#x7535&#x4fe1连接提示用户不允许使用本服务.使用\u7535\u4fe1同理.想知道这种情况下应该如何处理传入参数的问题.
    image

  • 另外一点是想知道配置中的version-str应该从哪里获取.我校允许macOS客户端进行链接.版本号是Supplicant V1.33-1204.Windows版本号是v6.43-2015-12-09

我猜测使用的是 GBK 编码,建议抓包查看。
version-str 也能抓包查看。

用Wireshark抓握手过程关键词直接上version-str嘛😂
请原谅我没有太多相关抓包的经验...

机智

感谢@ysc3839提供的reader工具(https://github.com/HamsterReserved/misc_scripts/blob/master/rj_property_reader.c).
正在研究应该如何查找servicename的相关字段.

image
在minieap源码直接看到了相应的注释..
感谢@updateing的耐心工作.

service 一般是 GBK 编码的,可以尝试这样用:

$ export SERVICE=$(echo -ne 联通|iconv -f utf8 -t gbk)
$ minieap -u xxx -p xxx -n xxx --module rjv3 --service "$SERVICE"

version-gbk 一般是包结尾处一个比较长的可读字符串,Wireshark 抓到以后比较容易看出来。上面的 rj_property_reader 也可以显示。

谢谢提示.才想起来转码可以直接上iconv..
等明天的编程器回来了尝试下.刚刚降级breed变砖了😂

还想请教下如果用rj_property_reader的话是可以直接读Wireshark的包还是要把锐捷验证过程的包内容保存下来读取?类似于mentohusttool抓下来的mpf文件?

太优秀了,来尝尝dword1511大佬的stm32-vserprog
还有我的博客使用手机做上位机来为spi闪存芯片进行编程
这是我整理好的资料,下载地址:STM32闪存编程器

@Droid-MAX 这也太强了吧...

还想请教下如果用rj_property_reader的话是可以直接读Wireshark的包还是要把锐捷验证过程的包内容保存下来读取?类似于mentohusttool抓下来的mpf文件?

都可以。那个程序会在整个文件里搜索 magic number,不需要文件自身具有特定格式,只要能把数据包完整存放好就行。

最简单的方法就是让 Wireshark 保存几个感兴趣的包到一个 pcap 文件,然后拿这个文件去给 rj_property_reader 分析。

都可以。那个程序会在整个文件里搜索 magic number,不需要文件自身具有特定格式,只要能把数据包完整存放好就行。

好的.我去试试看.
PS让我想起minieap的拒绝Magic Number 从我做起(x

服务字段的问题已经想办法解决了.虽然openwrt上没有默认带iconv.但我在macOS上iconv转完echo到文件再发上去再cat可以了(

但是会报非管理员指定客户端..锐捷版本6.43
有点怀疑是version-str的问题.我先抓包看看.
fakedns和硬盘序列号都加上了.

@fanvinga 把你们学校的 Linux 客户端发来看看,有可能是新版本。

暂时没找到Linux客户端(因为我校不是官方提供客户端的)

成功认证通过.
使用了@ysc3839openwrt-minieap gzhu分支.但注意的是因@ysc3839不需要心跳以及ipv6锐捷.所以他在patch中注释了相关功能只保留了认证部分.如果需要心跳功能的可以替换成这个patch然后自行编译即可