- 流量相关信息
- 流量峰值时刻记录:确定流量出现异常高峰的具体时间点。查看日志中的时间戳,标记出流量急剧上升的时间段,这有助于与 DDoS 攻击的时间范围进行匹配。例如,如果正常情况下服务器每秒钟接收 1000 个请求,而在某一时刻突然上升到 10000 个请求,这个时间点就需要重点关注。
- 流量来源 IP 分布:分析流量的来源 IP 地址。在日志中统计各个 IP 地址发送请求的频率和数量。如果发现有大量请求来自少数几个 IP 或者某个 IP 段,很可能是 DDoS 攻击的源头。特别是当出现单个 IP 地址在短时间内发送大量请求,如每秒数千次甚至更多请求指向服务器的特定端口时,这是很典型的攻击迹象。
- 流量类型识别:明确流量的类型,包括协议类型(如 TCP、UDP、ICMP 等)和请求内容。对于 DDoS 攻击,UDP Flood 和 ICMP Flood 是比较常见的类型。如果日志显示大量的 UDP 或 ICMP 数据包,且这些数据包的内容不符合正常业务逻辑,如 UDP 数据包没有对应的服务响应或者 ICMP 数据包异常庞大,那么可能是遭受了相应类型的攻击。
- 请求频率异常排查
- 高频请求路径分析:查看服务器各个应用程序接口或者网页路径的请求频率。在正常情况下,不同路径的请求频率会相对稳定。如果某个特定路径(如登录页面、特定的 API 端点)的请求频率突然远超正常水平,可能是攻击者在针对该功能进行攻击。例如,正常情况下登录页面每小时有 100 次访问请求,在攻击期间可能会达到每小时数千次。
- 请求时间间隔统计:分析请求之间的时间间隔。在正常的用户行为中,请求之间会有一定的时间间隔,因为用户需要阅读页面内容、填写表单等操作。而 DDoS 攻击的请求通常是连续不断地快速发送。通过计算日志中相邻请求的时间差,若发现大量请求的时间间隔几乎为零,这是攻击的一个重要特征。
- 异常状态码检查
- 大量 4xx 和 5xx 状态码:关注服务器返回的状态码。在 DDoS 攻击中,由于攻击流量可能会导致服务器过载或者请求不符合正常规则,会出现大量的 4xx(客户端错误)和 5xx(服务器端错误)状态码。例如,429 Too Many Requests 状态码表示请求过多,可能是攻击者在短时间内发送大量请求导致服务器无法正常处理;503 Service Unavailable 状态码表示服务器无法提供服务,可能是由于攻击导致服务器资源耗尽。
- 特定状态码的请求来源:对于出现异常状态码的请求,追踪其来源 IP 地址。如果发现某些 IP 地址总是导致特定的异常状态码出现,这有助于定位可能的攻击源。比如,某个 IP 地址发送的所有请求都返回 400 Bad Request 状态码,且请求频率极高,那么这个 IP 很可能是攻击者。
- 用户代理(User – Agent)信息分析
- 异常 User – Agent 识别:查看请求中的 User – Agent 字段,它可以标识请求的客户端类型(如浏览器、爬虫工具等)。在 DDoS 攻击中,攻击者可能会使用伪造的或者异常的 User – Agent。如果日志中出现大量相同的奇怪 User – Agent,或者 User – Agent 不符合正常的客户端使用模式(如大量声称是某个古老浏览器版本的请求),这可能是攻击的迹象。
- User – Agent 分布情况:统计不同 User – Agent 的请求数量分布。正常情况下,应该是多种真实的客户端 User – Agent 有一定比例的请求。如果发现某一种或几种 User – Agent 占据了绝大部分请求,且不符合正常业务场景,那么需要进一步调查是否为攻击行为。
- 连接相关信息审查
- 连接建立和断开情况:观察日志中的连接建立(如 TCP 的三次握手)和断开记录。在 DDoS 攻击中,可能会出现大量异常的连接建立和快速断开的情况。例如,攻击者可能会发起大量的 TCP 连接请求,但不完成完整的通信过程,导致服务器资源被占用在等待这些未完成的连接上。
- 并发连接数量统计:计算同一时刻的并发连接数。如果并发连接数突然远超服务器的正常承载能力,这是 DDoS 攻击的一个明显特征。比如,服务器正常能够处理 1000 个并发连接,在攻击期间可能会出现数万个并发连接的情况。