对战平台的实质_第1页
对战平台的实质_第2页
对战平台的实质_第3页
对战平台的实质_第4页
对战平台的实质_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

对战平台的实质 小组 郑修鹏 赵一良 王晓君 研究时的初步理解 浩方电竞平台 VS 唯思 对战平台等软件实现了局域网游戏的网络对战 在对战平台出现前 就已经存在了诸如星际 CS 帝国时代等局域网游戏 虽然游戏本身存在网络接入对战的功能 但在国内的网络环境却没有什么作用 此时 为了能够更好的使玩家在网络上互相对战 便出现了对战平台 因此 这些游戏并不具有对战平台所实现的功能 以往游戏对战时大都去网吧 因为同一个网吧的机器都是在一个局域网中 也就是说在一个线中 而我们对对战平台的初步了解是它将用户都纳入了一个虚拟的网吧中并相互连成局域网 后来 在浩方的一个房间中看到浩方给了每个用户一个虚拟IP 就考虑到虚拟IP去了 起初的关键词 虚拟局域网 IP及虚拟IP经过的相关词 IPX UDP决定性的关键词 HOOKWinSock DLL的注入 P2P 查到的相关信息 IP地址是一台电脑上网时所用的地址 IP地址针对用户的TCP IP协议是固定且唯一的 可以通过IP地址确定用户所在位置 一般来说互联网用户不允许出现诸如192 168 X XXX此类的IP地址 但是在局域网中就可以 局域网一般出现在办公室 网吧等 网内用户的IP地址是服务器给定的 借由此进行上网 在网吧会看到一个大箱子和连了很多线的小盒子 它们就起到了连接局域网的作用 排除及总结 虚拟局域网 对于虚拟局域网 有两个问题 怎样虚拟 怎样通信 刚开始查到的是关于VLAN这个词 而这个是将网划分出一个网段进行特定的数据传输 但是 这个技术是建立在局域网的逻辑基础之上的 而对战平台的用户都是通过互联网连接的单体用户 并不在局域网中 所以VLAN应该不是我们要找的那个词 VLAN VirtualLocalAreaNetwork虚拟局域网在对战平台上 查看个人信息时都会显示一个虚拟IP 在虚拟IP后面有个局域网的提示 所以 接下来就想到了平台是不是给了用户虚拟IP从而形成所谓的虚拟局域网 虚拟IP 虚拟IP是一个不与特定计算机或在一个计算机中的网络接口卡相连的IP地址 IP技术的一种 增强网络管理 发挥出VLAN的优势 改变了网络结构 合理分配网络资源 均衡网络负载 有效降低网上广播信息 方便对用户的分组管理 首先可以确定 平台确实用到了虚拟IP技术 以浩方举例 每个房间都是一个虚拟的局域网 进入房间的每个用户浩方都给予一个虚拟IP地址让用户的电脑就像在局域网状态下连接到其他用户的电脑 而IP地址例如192 168 1 XXX这是浩方平台所有魔兽争霸相关游戏的房间的虚拟IP地址 192 168 0 XXX是星际争霸相关游戏的房间虚拟IP地址 这里用不同的IP地址来区别游戏的类型 而在同一种游戏中 只需分配出不同房间 用户的IP地址都是192 168 1 1 192 168 1 250 虚拟局域网 这同时可以解释为什么平台每个房间的人数上限是250 就是因为IP的最大数量是从000到255 用到了1到250 剩下的一个给服务器 其他的给挤房间的VIP用户 疑问出现了 既然说了平台构建了一个虚拟局域网 为什么不是用到VLAN呢 这又要牵扯到游戏本身的通信协议和IPX UDP VLAN是划分出一个网段 进行特定的数据传输 根据人数不同 是不是划分的设定就不同 如果是 那岂不是太麻烦了 SOLO还好 如果是CS那样人数随时变更而且不稳定 那么岂不是太浪费了 而且游戏本身还有通信协议 返回 IPX和UDP UDP 用户数据包协议 是一种无连接的传输层协议 和TCP传输协议相比不可靠 适用于同一端口上的多个应用程序 平台确实用到了这个协议 但具体的用途并不清楚 只了解到进行局域网连接时游戏本身是有一个端口数的 而这个端口数指的就是UDP的本地端口数 例如星际是6111或6101 魔兽是6112或6102 一般的网络视频会议用的都是这层协议 IPX 互联网分组交换协议 用来对通过互联网络的数据包进行路由选择和转发 它指定一个无连接的数据包 相当于TCP IP协议簇中的IP协议 关键在于 IPX的网络号可以按需要来自己定义 在许多游戏中都有IPX这个通信协议 例如暴雪的星际争霸 魔兽争霸和暗黑破坏神的局域网都是用的IPX协议 返回 HOOKWinSock的函数调用 这个函数是用来钩住端口的 用户进入平台某个房间后 他与这个房间的所有用户实际上都是出于预备连接状态 也就是说此时机器都启用了HOOKWinSock这个函数钩住了本房间的服务器 当用户进入到某个主机后 平台再次启用HOOKWinSock函数让用户连接到主机 这时平台的压力也就小很多了 这是搜索主机和进入主机的过程 此时服务器负担了大部分功能 当然 从用户进入房间开始服务器就分配了一个虚拟IP给每一个用户 返回 DLL的注入以及P2P技术 在这两个说明之前 不要忘记不管什么程序运行后都有进程的注入 而这一步是在用户的电脑上进行的 平台运行后在任务管理器中会出现平台这项进程 DLL的注入 DLL是动态链接库 DynamicLinkLibrary 的简称 明白点说就是在一段程序运行时实际上是在运行一系列函数 DLL可以使进程运行本来程序里不能运行或本来没有的函数 可以认为是为了随时在中途加入一个新编写的函数来完善或更新程序的文件 注入DLL是为了随时进行函数替换和处理来帮助用户和服务器不断地进行数据交换 为什么要进行数据交换这个不解释 在平台上有个开始游戏的按钮实际上就是注入DLL的按钮 不同的游戏要有不同的函数 所以DLL就不同 这也是为什么平台要按游戏种类分房间 当进入一个房间却启动另一个游戏时平台就会提示选择了错误的程序 原因也是DLL注入的函数不对 P2P Peer to Peer 点对点技术 是一种网络新技术 依赖网络中参与者的计算能力和带宽 而不是把依赖都聚集在较少的几台服务器上 在用户机器下载数据同时自己也做主机进行上传 DLL的注入以及P2P技术 如果什么都是服务器来处理的那么对于服务器的负担是相当大的 很容易会造成服务器卡或崩溃 以前浩方就是因此时不时的卡或系统崩溃 后来平台都运用了P2P技术 使服务器的负担减小的同时还能加快游戏的速度 降低延迟 只不过遇到网速慢的主机那就只能郁闷了 当然 有的机器是不能进行点对点的 此时服务器就不得不起到转发的作用来替这种用户进行数据下载和上传 P2P这个技术实际上并不陌生 我们所用的迅雷下载现在就用到了这个技术 返回 排除及总结 排除阶段 VLAN的排除前面已经说了 这里说说其他的两种可能性的排除 第一是虚拟一个网卡驱动 或者有个真正的网卡 后者是肯定不可能的 平台运行时也没见人往里安装一个网卡 前者 一开始觉得可行 但是 根据每个用户的安全权限不同 不可能每个用户都允许平台安装一个驱动 况且在平台运行时我们并没有发现有什么驱动被临时安装了 只有平台的进程和动态链接库的临时文件出现了 所以这个不可能了 第二就是替换WindowssocketDLL 根据网上的言论 这种做法是大部分木马的做法 最重要的是这种方法并不安全 会被大部分的系统防御软件屏蔽 排除及总结 平台的实质技术基本上就这些 但是还有一个是平台对用户的API和某些数据拦截然后转换数据后再发送 这个技术我们始终没有搞明白 所以不多做介绍 但相信这个技术是帮助用户寻找以及建立主机和构成虚拟局域网的原因之一 捋顺一下 首先是进程注入 进到平台的某个房间 然后系统服务器分配虚拟IP 之后启动游戏便是DLL的注入 进入游戏后系统利用HOOKWinSock函数进行用户连接 到此 已经构成虚拟局域网 当用户配对完成并开始游戏后 服务器作为终端和用户进行数据交换 用户之间也进行这项操作 在数据交换时 也就是游戏进行中 运用P2P技术降低延迟 运用DLL帮助交换数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论