首页 > 其他分享 >CS 登陆通信流程分析

CS 登陆通信流程分析

时间:2024-02-03 11:32:57浏览次数:25  
标签:authenticate 验证 流程 TeamServer 密码 Controller 调用 登陆 CS

0x01 密码校验  

启动 TeamServer 后,会创建 SecureServerSocket 对象并且循环调用 acceptAndAuthenticate 方法等待 Controller 连接

CS 登陆通信流程分析_CS流量分析

在接收到信息并验证成功以后,才会去调用 clientAuthenticated 方法来线程执行 ManageUser 以处理与 Controller 的信息

CS 登陆通信流程分析_CS流量分析_02

当 Controller 在点击 Connect 按钮时,会调用 Connect 中的 dialogAction 方法,会先创建SecureSocket 对象,并调用 authenticate 方法进行验证

在创建 SecureSocket 对象时,会与 TeamServer 进行握手等操作,TeamServer 会进入SecureServerSocket.this.authenticate 方法进行验证,此时会一直在 var4.readInt() 阻塞,直到Controller 将信息发完 

CS 登陆通信流程分析_CS流量分析_03

接着来看 Controller 的处理,在 authenticate 中,进行了数据包的构造,先写入一个标志 48879(int),接着是密码的长度(byte),然后是密码,之后用 65 来进行填充密码长度加填充长度,不超过 256,再加上标识位和密码长度,256+5=261

CS 登陆通信流程分析_CS流量分析_04

CS 登陆通信流程分析_CS流量分析_05

接着在 flush 之后,TeamServer 就开始验证了,判断标志位是否正确,读取密码,读填充字符

对比密码,如果正确,写回标志位 51966

标签:authenticate,验证,流程,TeamServer,密码,Controller,调用,登陆,CS
From: https://blog.51cto.com/u_14881360/9568641

相关文章

  • 【解题报告】CodeForces523D:Statistics of Recompressing Videos
    CF523D解题报告CF523D先上结果:前两次语言选错了,编译一直不过(做这题是因为集训老师让我做我就做了,要不然我都快忘了我有CF账号了(思路省流:STL大法开一个小根堆存目前正在运行的服务器(也可以大根堆,但是存时间进去的时候存负的),如果有空机就直接处理,这个视频处理完的时间就......
  • 在K8S中,发布应用流程是什么?
    在Kubernetes(简称K8s)中发布应用的基本流程通常包括以下几个步骤:编写YAML或JSON配置文件:创建一个或多个YAML文件,例如deployment.yaml、service.yaml等,来定义应用所需的资源对象。对于部署一个Tomcat应用,你可能需要定义Deployment资源,指定容器镜像、端口映射、副本数量等属......
  • csp2023(不知道该不该退役)游记
    本来是想一结了之的,但还是觉得心有余而力不足,我相信自己有那个实力,可惜了,正赛完全没有发挥好,我相信我的实力是在SX新初一前十的,但发挥太差了,为SX丢了个大脸。其实不该退役的,毕竟我才初一,这次是机房里面唯一一个第一次考的人,我身上背负了很多人的期待,但这不足以成为一个理由。实际......
  • csp2023 初赛退役(you)记
    9.16csp2023初赛AFO记早上我可睡了个大懒觉,早上8点30才起,起来刷了刷水题,就出门了。J组还没进去,就看到了lzh小佬,然后进去就看到[代词使用它的]rty大佬了呵呵呵,没想到跟wzy和xzx大佬一个考场,虽然他们奇菜无比我似乎把手环带进去了。。。前15道选择:我脑瘫忘了哈夫曼,直到晚......
  • CSP2023 游记
    CSP2023游寄死的非常彻底呢...小y死,速归周五复习了一些图论的板子,多测没清空,rp--周六上午写了ST表,看了看KMP和Manacher,发现忘差不多了,有点慌,rp--(此处伏笔看到了J组的题,T3居然还是大模拟,心道不好(伏笔++中午出门晚了一点,又有一点点慌,rp--进考场的时候大概是......
  • 融资租赁业务操作流程
    融资租赁业务操作流程 一、商务谈判及项目立项调查立项调查流程1、项目受理公司市场部门在受理租赁业务并了解客户基本情况和业务需求后,设计可行租赁方案.2、立项申请将《立项申请表》、《立项审批表》提交给立项评审工作小组。3、立项评审会审议、表......
  • CSharp: QuestPDF 2023.12.4 in doenet 8.0
     /*ide:vs202217.5.net8.0QuestPDF23.12.4from:https://github.com/QuestPDF/QuestPDF/discussions/560*/namespaceConsoleAppFontPdfDemo{usingQuestPDF;usingQuestPDF.Fluent;usingQuestPDF.Infrastructure;usingQuest......
  • Blazor中使用npm、ts、scss、webpack且自动导入到html
    1、新建一个BlazorApp项目2、新建文件夹WebLib,并在终端中打开执行指令npminit-y在WebLib目录下新建tsconfg.json文件{"compilerOptions":{"noImplicitAny":false,"noEmitOnError":true,"removeComments":false,"sourceMa......
  • SpringMVC的执行流程及初始化流程
    今天大致来看一下SpringMVC的执行流程和初始化流程是什么样的1,执行流程:也就是一个请求是怎么到我们Controller的2,初始化流程:也就是那些HandlerMapping、HandlerAdapter是怎么初始化并让我们拿到的执行流程我们都知道DispatcherServlet(前端控制器)这样的一个类,是这个类来帮......
  • css
    波浪<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title>波浪</title> </head> <styletype="text/css"> *{ padding:0; margin:0; } .blue{ width:100%; height:......