[原]极域电子教室V6 2007通信协议解析(一)

/*

        菜鸟,若有疏漏、不足或者错误,肯定指教。直接回复或联系邮箱(sunnysab@yeah.net)。

        文章供学习和交流使用,转载可不注明原地址。

*/

       首先,配置环境。软件 极域电子教室V6 2007  不用说的(下载地址),拦包工具我用的是 科来网络分析系统 2010 技术交流版 (可以免费申请到序列号的,序列号1年过期)。建议安装一个虚拟机,以便进行试验。个人用的是 Virtual Box 。另外,在安装时把虚拟网卡也弄上,关于这个实验都在该虚拟网卡上进行,可以排除干扰。还要注意把极域电子教室的ip都设置在虚拟网卡的ip上。并且定下哪个ip装教师端,哪个ip是学生端,不要今天在虚拟机里用教师端,明天在虚拟机内运行学生端。另外还要注意的是,有时候可以只开教师端不开学生端。

       拦包,发现:极域电子教室教师端向 224.40.40.40:4804(组播地址)  发送一些数据包,内容如下:

十六进制:4E 43 4E 41 00 00 0E 00 C0 A8 02 01 01 00 00 00 54 65 61 63 68 65 72 00

明       文:N  C  N  A  .  .    .    括        .  .  .  T  e  a  c  h  e  r  .

       数据包每次内容不同,而且极域电子教室还向另外一个地址(这个地址每次都不同,但是 225.2.x.x )发送一些包,经过研究,学生端不对 224.40.40.40 发送消息,且这个地址每次都是固定的,所以这个地址可能是极域电子教室说明自己身份的地址。而 225.2.x.x 是上课时的控制地址)。对这个数据包进行分析:

      把域电子教室关闭再开,几次数据包都不同,225.2.x.x 也不同。在教师端登录时,试着切换几次参数(教师名、班级)。得出了极域电子教室教师端向 224.40.40.40:4804 发送的数据包的含义(不应该用结构表示,毕竟结构的大小是固定的,而数据包大小不固定(依教师名而定),理解即可~):

     struct  packet_1

     {

         char  Flag[4];     //"NCNA"

         char  The_Second_Multicast_IP[4];       //225.2.x.x的地址

         char  Teacher_IP[4];       //教师端ip

         WORD  Class;          //班级

         WORD  NULLs[3];    //3个空字节

         char  TeacherName[ ];         //教师端登录时的教师名

         char  TheEnd;        //'\0',也可当做TeacherName后面系统附加的'\0'

     }

      有一点必须说明,就是 The_Second_Multicast_IP[4];  ,这四个字节折磨了我一段时间,后来是多次拦包得出:

      实际第二个组播的ip:  225.2.76.1                       在数据包中十六进制的表示:4B 00 0E 00

      实际第二个组播的ip:  225.2.55.1                       在数据包中十六进制的表示:36 00 0E 00

      观察这两组包,重复的: 225.2.x.x 0E 00  不看。得出:

      76.1      ->      4b  00

      55.1      ->      36  00

      我是无意发现的,76 - 1 = 4b(16进制) = 75,55 - 1 = 36(16进制) = 54 。

      可以这样理解这4个字节(分别表示为 W X Y Z):

          真实的第二个组播的地址 = (Y+1)^2 . Z+2 . W+1 . X+1

      解析的过程不是很详细,但是毕竟包含着一些经验,不过毕竟有些是无法表达出来的,只能靠着自己摸索、实践。三天五天分析不出来这个协议是很正常的。不要灰心!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值