LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 安全 >

cc攻击分析

时间:2013-03-06 10:17来源:CSDN 编辑:gzh0222 点击:
第一 先学习一下tcp ip协议 1、连接建立阶段的三次握手 一般情况下,客户端连到服务器叫做主动打开,服务器上的端口监听叫做被动打开 a、准备,服务器进程被动打开端口 b、第一次
第一 先学习一下tcp ip协议
1、连接建立阶段的三次握手
一般情况下,客户端连到服务器叫做主动打开,服务器上的端口监听叫做被动打开
a、准备,服务器进程被动打开端口
b、第一次:客户发送SYN报文,主动打开连接。这个报文中的序号叫做ISN(初始序号),是随机产生的。(SYN报文不带数据,但是消耗一个序号)
c、第二次:服务器收到后,发送SYN+ACK报文。
d、第三次:客户段收到后,发送ACK报文进行确认。

2、连接正常终止的三次握手协议:(以客户主动关闭为例)
a、客户:发送FIN,主动关闭
b、服务器:发送FIN+ACK(当然可以加最后一块报文)
c、客户:发ACK确认

3、半关闭与四次握手:
半关闭:一方虽然关闭了发送数据,但还是可以接收数据
a、客户:发送FIN
b、服务器:发ACK,同时通知应用进程
c、服务器继续传数据
d、服务器发FIN
e、客户发ACK


4、连接复位与RST标记:在一端的TCP可以请求拒绝一个连接,或者 异常终止一条连接 或者 终止一条空闲连接时候,这些都可以用RST标记位完成。

5、状态转移(有限状态机制)

(1)、正常流程的状态转移:(C表示客户端,S表示服务器,+表示接收,-表示发送)
C: CLOSED--(-SYN)-->SYN-SEND--(+"SYN+ACK", -ACK)-->ESTABLISHED--(-FIN)-->
FIN-WAIT-1--(+ACK)-->FIN-WAIT-2--(+FIN, -ACK)-->TIME_WAIT--(2MSL之后)-->CLOSED

S: CLOSED--(被动打开)-->LISTEN--(+SYN, -"SYN+ACK")-->SYN-RCVD--(+ACK)-->ESTABLISHED--(+FIN, -ACK)-->CLOSE-WAIT--(-FIN)-->LAST-ACK--(+ACK)-->CLOSED

其中,CLOSE-WAIT表示收到第一个FIN,发送了ACK,等应用进程关闭

(2)、拒绝连接时的状态转移:
C: CLOSED--(-SYN)-->SYN-SEND--(+"RST+ACK")-->CLOSED
S: CLOSED--(被动打开)-->LISTEN--(-"ACK+RST")-->SYN-RCVD--(过段时间)-->LISTEN

(3)、异常终止时候的状态转移
C: ...ESTABLISHED--(-"ACK+RST")-->CLOSED

S: ...ESTABLISHED--(+"ACK+RST")-->CLOSED

第二 分析一下cc攻击
CC攻击是实现DDoS其中一种方法。CC攻击的特点:业内有人将CC攻击称之为“Web杀手”,当web服务遭受到时候,见不到虚假IP,更特别的是见不到特别大的异常流量。而且与传统的ddos的实现方法相比,cc攻击只需一个普通用户的网络流量,就足以挂掉一台高性能的Web服务器。

通过命令行查看是否被攻击
当Web遭受CC攻击时,80端口将被大量的垃圾数据堵塞了,正常的连接被中止,最终导致拒绝对外提供服务。在命令行下输入命令netstat -an可查看当前的连接情况,如果看到大量类似如下的连接记录时,可以断定服务器正在遭受cc攻击。
  TCP 192.8.8.8:80 8.7.1.6:2205 SYN_RECEIVED 4
解释:“8.7.1.6”就是被用来代理攻击的主机的IP,“SYN_RECEIVED”表示TCP连接状态标志,表明无法建立握手应答处于等待状态。因为来自不同的代理IP的攻击,所以这样的记录一般都会有很多条,这是受到攻击的一个重要特征。

转载请保留固定链接: https://linuxeye.com/security/1326.html

------分隔线----------------------------
标签:cc
栏目列表
推荐内容