加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

CC进攻TCP和UDP正确打开姿势

发布时间:2019-04-17 03:52:51 所属栏目:教程 来源:咯咯
导读:弁言: 1:CC进攻是正常的营业逻辑,大并发让你处理赏罚不外来,处理赏罚XP SP2,以上的体系都封了RAW名目协议封包自界说,除了基于应用层改协议,之外都是模仿或哀求来测试传输层 2:UDP不会粘包,不会少包,除非缓存区满 3:TCP首要特性有: 3次握手毗连 4次挥手断开
副问题[/!--empirenews.page--]

 弁言:

1:CC进攻是正常的营业逻辑,大并发让你处理赏罚不外来,处理赏罚XP SP2,以上的体系都封了RAW名目协议封包自界说,除了基于应用层改协议,之外都是模仿或哀求来测试传输层

2:UDP不会粘包,不会少包,除非缓存区满

3:TCP首要特性有:

  1. 3次握手毗连
  2. 4次挥手断开
  3. 拥塞节制
  4. 重传节制
  5. 传播输方法,处事端必要特殊理会方面有:协议粘包,协议少包,协议丢包、非常协议相应、正常协议相应
  6. CC进攻TCP和UDP正确打开姿势

UDP首要特性有:

  1. 包传输方法
  2. 无粘包错包
  3. 且无毗连,无拥塞节制,无重传机制

4:TCP首要特性有:

1.3次握手毗连:

一测试用例:压力机在哀求大量握手链接后敏捷封锁,必要大并发操纵

一测试逻辑点:测试处事端底层逻辑封锁socket的同时,又来新的socket链接哀求,处事端底层逻辑这部门是否处理赏罚正常

我测试的项目BUG:建设ID为5000的socket端口后,因为压力机封锁socket,导致处事端接纳这个ID为5000的SOCKET,新来的TCP毗连哀求,因为5000的开释又行使上这个SOCEKT,这时处事端报错:新的SOCKET无法行使

二测试用例:压力机在哀求大量握手链接,必要大并发操纵

二测试逻辑点:测试处事端最大毗连SOCKET数目,以担保处事端有可用的SOCKET资源分派,

我测试的项目BUG:处事端建设5000个SOCKET后无法建设乐成,因设置的JAVA内存不足及体系开放的端口数不足

上述两点的测试器材实现:只有IOCP和AIO底层测试验证最有用,测试同时调查在 N并发/秒 得出瓶颈拐点

5:4次挥手断开:

测试用例:压力机配置SOCKET选项,在哀求大量握手链接后敏捷封锁,必要大并发操纵

  1. //快速封锁socket 
  2. ::setsockopt(pUsoc, SOL_SOCKET, SO_REUSEADDR, (const char*)&on, sizeof(bool));//复用端口 
  3. ::setsockopt(pUsoc, SOL_SOCKET, SO_DONTLINGER, (const char*)&off, sizeof(bool));//打开LINGER 
  4. ::setsockopt(pUsoc, SOL_SOCKET, SO_LINGER, (const char*)&m_sLinger, sizeof(linger));//配置逼迫封锁SOCKET 

测试逻辑点:测试因压力呆板人修改Socket设置,客户端主动断开,处事端无法获得4次挥手的关照包,导致必要N时刻节点才封锁Socket/不封锁Socket

项目测试BUG:因无法获得4次挥手包,处事端存在大量非常长毗连,导致拒绝处事

6:拥塞节制-简朴领略为,堵死汽车排气孔,同时踩油门

测试用例:压力机客户端配置1字节接管协议或1字节缓存区,同时哀求必要相应的大数据:譬喻排行榜

测试逻辑点:因为拥塞节制非凡性,TCP会开发内存缓存这部门数据,简朴说,处事端发生的协议多,但有用发出的少,体系缓存剩余协议越来越多,硬件监控处事端内存暴涨

项目测试BUG:同上,配置好SOCKET参数后,哀求排行榜数据,处事端内存暴涨,直接瓦解

7:重传节制

测试用例:搭建测试署理器材,对包传输次序/丢包举办参数设置转发

测试逻辑点:因为重传的非凡性是传输层节制,以是在应用层模仿丢包和乱序哀求

各人常用的kugou音乐的APP通过器材模仿重传节制,在试听音乐的时辰,举办丢包和乱序测试,APP瓦解

8:传播输方法,内容较量多,逐步看

测试用例:协议粘包 - 通过署理器材自动*N倍,既123变123123123123123123

测试逻辑点:

1)测试处事端最大可支解的数据包上限,

2)测试处事端是否并发执行协议,如领取使命、购置物品、建设脚色等等

项目BUG:建设N个123脚色在数据库中,且完备协议支解最大上限为4,后期调至20份/Max缓存区

测试用例:协议少包 - 通过器材1字节发送

  • 1)高速
  • 2)慢速

测试逻辑点:

1)高速发送1字节,处事端读取处理赏罚协议,来耗损CPU资源,

2)占用处事端缓存区长时刻耗损资源,以上2点测试处事端对协议读取结实性

测试用例:处事端私有协议 - 结构非常数据及有用数据举办测试

测试逻辑点:

1)有用数据

  • 包体 - 这里用的有用数据既为超大包体,如喊话等可变协议,高出处事端缓存器上限
  • 协议接口 - 对付已知的处事端协议相应接口遍历,遍历测试是否有未开放的或频仍挪用
  • 协议参数 - A行使B的参数如用户ID、数值类的:0 负数 界线值 正数溢出

2)非常数据

  • 包体 - 修改包体界线值或自界说数据,既包体过短或超长数值
  • 协议接口 - 遍历处事端接口,既不存在的接口,自动+N修改
  • 协议参数 - 遍历字节既协议自动+N修改
  • 非凡协议 - 及发送非正常的协议如1字节 00 11 22 33 - FF

项目BUG:

1)协议包体:移动协议修改包体数据,包体修改为8字节,既无协议接口的参数,处事端报错瓦解

2)协议参数:

  1. A用户行使B用户ID登岸,逼迫踢B下线、
  2. 购置数目*金额超处事端变量上限,数值溢出倒贴钱给玩家、
  3. 负数不消多说,卖对象-1,多送一件给玩家、
  4. 有除法计较的处所行使0数值,处事端瓦解

3)协议接口:

  1. 副本挪用怪自爆协议,秒杀全部怪、
  2. 脚色在牢狱中挪用传送接口越狱
  3. 进攻类,并发N/秒哀求大数据的协议接口,处事端内存Cpu暴涨,后限期制哀求频率

10:UDP首要特性有:包传输、无粘包、错包、无毗连,无拥塞节制、无重传机制

测试用例:

应用层

1)协议测试同TCP

2)大并发哀求(机能测试同TCP)

测试逻辑点:

1)因为传输层无非凡处理赏罚,即传输层在协议测试上只有丢包、乱序、耽误等3项,测试方案同TCP的测试用例

2)应用层的方案延用TCP中测试用例:

  1. 有用数据
  2. 非常数据

1)有用数据

包体 - 这里用的有用数据既为超大包体,如喊话等可变协议,高出处事端缓存器上限

2)非常数据

包体 - 修改包体界线值或自界说数据,既包体过短或超长数值

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读