1: CC攻击是一种正常的业务逻辑,大并发让你处理它,处理XP SP2,上面的系统都是密封的RAW格式协议包定制,除了应用层修改协议,模拟或请求测试传输层除外
2:除非缓冲区已满,否则UDP不会粘连,也不会减少数据包
3: TCP主要功能是:
3握手连接
4次波浪休息
拥塞控制
重传控制
在流模式下,服务器需要额外的解决方案:协议粘包,协议丢包,协议丢包,协议响应异常,协议响应正常
UDP的主要特点是:
分组传输方法
不粘包装
没有连接,没有拥塞控制,没有重传机制
4: TCP主要功能是:
1.3握手连接:
测试案例:请求大量握手链接后,新闻快速关闭,需要大量并发操作
测试逻辑点:测试服务器的底层逻辑以关闭套接字,然后进入新的套接字链接请求,无论服务器的底层逻辑是否正常处理。
我测试了项目BUG:在创建ID为5000的套接字端口后,由于按下关闭套接字,服务器将回收ID为5000的SOCKET。由于5000的发布,将再次使用新的TCP连接请求。当服务器报告错误时:无法使用新的SOCKET。
两个测试用例:印刷机正在请求大量的握手链接,需要大量的并发操作
第二个测试逻辑点:测试服务器上SOCKET连接的最大数量,以确保服务器具有可用的SOCKET资源分配。
我测试了项目BUG:创建5000 SOCKET后服务器无法成功创建,因为配置的JAVA内存不够,系统打开的端口数量不够。
以上两点测试工具的实现:只有IOCP和AIO底部测试验证最有效,测试同时观察N并发/秒获得瓶颈拐点
5: 4次挥手:
测试用例:按下设置SOCKET选项,该选项在请求大量握手链接后需要大量并发操作后快速关闭。
//快速关闭插座
:: setsockopt(pUsoc,SOL_SOCKET,SO_REUSEADDR,(const char *)&on,sizeof(bool)); //多路复用端口:: setsockopt(pUsoc,SOL_SOCKET,SO_DONTLINGER,(const char *)&off,sizeof(bool)); //打开LINGER
:: 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崩溃。
8:流媒体模式,更多内容,看看
测试用例:协议粘贴包 - 通过代理工具自动* N次,均为123更改123123123123123123
测试逻辑点:
1)测试服务器的最大可分组数据包限制,
2)测试服务器是否同时执行协议,例如接收任务,购买项目,创建角色等。
项目BUG:在数据库中创建N 123个角色,完整协议分割最大限制为4,后来调整为20个副本/最大缓冲区
测试用例:协议少包 - 由工具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)协议参数:
用户使用B用户ID登录并强制B脱机。
购买数量*金额超过服务器变量的上限,并且该值溢出给玩家。
不用说,否定,卖东西-1,再向玩家发送一个,
除法计算中的值为0,服务器崩溃
3)协议接口:
该副本称责备自毁协议,杀死所有责任,
在监狱中的角色称为转移界面越狱
攻击类,并发N /秒请求大数据协议接口,服务器内存Cpu暴涨,后期限制请求频率
10: UDP的主要特性是:包传输,非粘包,错误包,无连接,无拥塞控制,无重传机制
测试用例:
应用层
1)使用TCP进行协议测试
2)大并发请求(使用TCP进行性能测试)
测试逻辑点:
1)由于传输层没有特殊处理,传输层在协议测试中只有3项丢包,乱序和延迟。测试方案与TCP测试用例相同。
2)应用层方案扩展了TCP中的测试用例:
有效数据
异常数据
1)有效数据
信封 - 此处使用的有效数据是超大型主体,例如调用等可变协议,超出服务器端缓冲区限制
2)异常数据
信封 - 修改体边界值或自定义数据,包体太短或太长