前置知识

    1. incoming 会返回一个迭代器,它每一次迭代都会返回一个新的连接 stream(客户端发起,web服务器监听接收),因此,接下来要做的就是从 stream 中读取数据,然后返回处理后的结果
    2. unwrap 遇到错误或者空值直接 panic
    3. collect 方法是一个消费者适配器,使用它可以将一个迭代器中的元素收集到指定类型中
    4. 拒绝服务(Denial of Service, DoS)攻击是一种网络攻击方式,其核心目的是使目标系统、服务器或网络资源无法为合法用户提供正常的服务。攻击者通过向目标发送大量请求或数据包,消耗目标的处理能力、带宽、内存或其他关键资源,导致其无法响应合法用户的请求,或者响应速度极其缓慢,从而实现“拒绝服务”。
    DoS攻击可以有多种方式和手段:
    1. 资源耗尽型攻击
      • 带宽饱和攻击:攻击者通过发送大量的数据流量淹没目标服务器的网络入口,例如UDP泛洪、ICMP泛洪等。
      • CPU/内存耗尽攻击:利用特定协议漏洞或应用层弱点,构造复杂或恶意请求,使服务器处理这些请求时占用全部的CPU资源或内存资源,如SYN洪水攻击。
    2. 状态耗尽型攻击
      • 连接耗尽攻击:比如通过发送大量半开连接请求,使服务器保持等待状态直至达到最大连接数限制,无法接受新连接请求。
    3. 协议漏洞利用
      • 利用网络协议栈的设计缺陷,触发目标系统异常,进而使其停止服务。
    4. 分布式拒绝服务攻击(DDoS)
      • 这是一种更加强大的DoS攻击形式,攻击发起点来自多个不同源头(被黑客控制的僵尸网络),同时对同一目标发起攻击,这使得防御更加困难,因为攻击流量并非集中自单一源地址,而是分散在全球各地的众多设备中。
    在应对拒绝服务攻击时,防护策略通常包括但不限于:
    • 带宽扩容与流量清洗:使用专门的DDoS防护服务或设备,对异常流量进行检测并清洗掉攻击流量。
    • 资源优化与负载均衡:合理分配系统资源,采用负载均衡技术分散攻击压力。
    • 配置防火墙规则:阻止已知攻击模式,限制无效或异常请求。
    • 快速响应机制:建立应急响应流程,在遭受攻击时能迅速调整策略、阻断攻击源或联系ISP及云服务商协调处理。
    由于拒绝服务攻击的根本问题是网络资源的滥用,完全杜绝此类攻击是非常具有挑战性的,因此,预防、监测以及快速恢复是防范DoS/DDoS攻击的关键措施。