DrCom 5.2.1(X) 版协议分析 —— UDP 协议

目录 Linux, 项目探索

前面说了那么多,估计已经一脸懵逼了,没关系,现在才是重头戏,也是认证协议的重中之重,就是复杂到反人类的 UDP 协议╮(╯_╰)╭。

现在来讲讲 UDP 认证的作用,其实具体什么作用我也不知道,在协议分析的过程中,如果不按套路来进行 UDP 认证和心跳包的发送,最长上线时间仅能维持21分钟,随后就会被服务器强制下线,所以我推测 UDP 只是起到了心跳维持状态的用处。

问题的发现

在完成了 EAP 协议的分析之后,我们使用 C++ 实现了 EAP 协议的认证过程,测试过程中使用 Wireshark 抓包的过程中,发现了一个严重的问题,在历经大约21分钟的上线之后,毫无例外的都会收到服务器发来的 Failure 包,这意味着我们被服务器强制下线了。 继续阅读 “DrCom 5.2.1(X) 版协议分析 —— UDP 协议”

DrCom 5.2.1(X) 版协议分析 —— EAP 协议

目录 Linux, 项目探索

通过 Wireshark 抓包可以得到几个重要的包,其中一个包是客户端在启动时向网关 Nearest 发送 Logoff 包:

Clevo_18:5f:14   Nearest   EAPOL   96   Logoff

0000   01 80 c2 00 00 03 80 fa 5b 18 5f 14 88 8e 01 02  ........[._.....
0010   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0020   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

协议类型为 0x888e,即 EAP,可扩展身份验证协议,是 802.1x 认证机制的核心。而 EAPOL 则是基于局域网的 EAP。通过 EAP 包追踪到的IP发现还有 UDP 心跳包,所以可以确定 DrCom 5.2.1(X) 使用 EAP 协议完成内网认证,随后通过 UDP 协议发送心跳包保持登录状态。 继续阅读 “DrCom 5.2.1(X) 版协议分析 —— EAP 协议”

「项目探索」新分类将记录项目开发的过程

目录 项目探索

「项目探索」

这一新的分类于今日正式创建,以后的时间中由于自发或工作安排等原因需要制作项目,将会在项目探索分类中分享项目开发的全过程,记录自己的开发成长历程,也为需要开发这类项目的朋友提供一些资料。

同时,由于该类项目试做都是对自己的磨砺,我会尽可能地考虑开放源码到Github社区,希望可以大家一起来维护,谢谢。