一.TCP/IP模型对应的核心协议--重点在传输层

1.网络模型

首先我们了解到TCP/IP模型是由OSI模型简化而来的,同属于网络模型

网络模型简而言之就是进行“数据封装”和“数据解封”的过程。

2.TCP/IP 模型从上到下分为四层,每层都有其核心协议:

层级 主要功能 核心协议
4. 应用层 具体的应用服务 HTTP (网页), DNS (域名解析), FTP (文件传输), SMTP/POP3 (邮件), Telnet (远程登录)
3. 传输层 端到端的通信、端口寻址 TCP (可靠), UDP (快速), SCTP
2. 网络层 寻址与路由、跨网络通信 IP (IPv4/IPv6), ICMP (Ping / 报错), ARP (IP 转 MAC), IGMP
1. 网络接口层 物理传输、MAC 寻址 Ethernet (以太网), PPP (拨号), Wi-Fi

3.我们具体来解释一下传输层中的TCP协议和UDP协议

TCP(Transmission Control Protocol 传输控制协议):

是一种面向连接的、可靠的、基于字节流的传输层通信协议--像打电话,必须先接通(建立连接),说话有来有回(可靠),挂电话要道别(断开连接)。采用三次握手建立连接,四次挥手关闭连接,通信双方状态同步。

其中三次挥手如图大概

过程详解:
  1. 第一次握手 (SYN)

    • 发送方:客户端
    • 接收方:服务器
    • 报文SYN (Synchronize Sequence Numbers)
    • 含义:客户端向服务器发送连接请求,请求同步序列号。
    • 状态变化:客户端进入 SYN_SENT 状态。
  2. 第二次握手 (SYN + ACK)

    • 发送方:服务器
    • 接收方:客户端
    • 报文SYN + ACK (Acknowledgment)
    • 含义:服务器收到了请求,同意建立连接(SYN),并确认收到了客户端的请求(ACK)。
    • 状态变化:服务器进入 SYN_RCVD 状态。
  3. 第三次握手 (ACK)

    • 发送方:客户端
    • 接收方:服务器
    • 报文ACK
    • 含义:客户端收到了服务器的同意,再次确认。此时连接正式建立。
    • 状态变化:双方均进入 ESTABLISHED 状态,开始传输数据。

四次挥手如图大概:

过程详解:
  1. 第一次挥手 (FIN)

    • 发送方:客户端
    • 接收方:服务器
    • 报文FIN (Finish)
    • 含义:客户端没有数据要发了,请求关闭客户端 -> 服务器的通道。
    • 状态变化:客户端进入 FIN_WAIT_1 状态。
  2. 第二次挥手 (ACK)

    • 发送方:服务器
    • 接收方:客户端
    • 报文ACK
    • 含义:服务器收到了关闭请求,但可能还有剩余数据没发完,先回复 “我知道了”,让客户端等着。
    • 状态变化:服务器进入 CLOSE_WAIT 状态;客户端收到后进入 FIN_WAIT_2 状态。
  3. 第三次挥手 (FIN)

    • 发送方:服务器
    • 接收方:客户端
    • 报文FIN
    • 含义:服务器数据发完了,现在正式请求关闭服务器 -> 客户端的通道。
    • 状态变化:服务器进入 LAST_ACK 状态。
  4. 第四次挥手 (ACK)

    • 发送方:客户端
    • 接收方:服务器
    • 报文ACK
    • 含义:客户端收到了服务器的关闭请求,确认关闭。
    • 状态变化:服务器收到 ACK 后立即关闭;客户端会等待 2MSL(最长报文段寿命)时间后彻底关闭,防止最后一个 ACK 丢失。

TCP协议常用于:

  • 网页浏览:HTTP/HTTPS
  • 文件传输:FTP、SFTP
  • 邮件:SMTP、POP3、IMAP
  • 远程登录:SSH、Telnet
  • 数据库:MySQL、PostgreSQL
  • 电子商务、支付系统

总结来说,TCP协议优点在于:可靠传输,流量控制,适合传输大量数据,应用层无需关心包边界。但同时也暴露了其缺点:  速度慢、延迟高  , 不适合实时性要求高的场景,开销大

只要数据不能出错,就用 TCP。

UDP(User Datagram Protocol 用户数据报协议):

是无连接的、不可靠的、基于数据报的传输层通信协议

相较于tcp协议,udp协议就不是那么的正式,较为随意了,并且不太可靠。UDP协议常用于快比准重要的场景,例如说:

  • 在线游戏 (LOL, 吃鸡):你在游戏里移动,哪怕丢了一个位置包,人物瞬移一下也比卡 1 秒好。
  • 视频会议 / 直播 (Zoom, YouTube):画面稍微花一点没关系,不能卡顿。
  • DNS 查询:域名解析需要极快的速度,而且通常是小数据包。
  • DHCP:自动获取 IP 地址。

这样我们来总结UDP协议的优缺点:

UDP 的优点:速度快、延迟低,开销小,支持广播、多播,适合实时性要求高的场景

UDP 的缺点:不可靠,无连接,无流量控制、无拥塞控制发送方可能把网络 “冲垮”。

二.常见的DDOS攻击

DDoS攻击(Distributed Denial of Service 分布式拒绝服务攻击)是一种常见的网络攻击方式,旨在使目标 服务器无法正常提供服服务。在DDoS攻击中,攻击者会控制大量的计算机或 设备,向目标服务器发送大量的请求,使其超出 承受范围,导致服务器无法正常响应请求,从而 使服务不可用

1.以下是几种常见的ddos 攻击方式分类

攻击类型

攻击层级

核心原理

攻击特点(考点重点)

SYN 洪水攻击

传输层(Layer 4)

利用TCP三次握手缺陷,发送大量SYN连接请求,不回复ACK,耗尽服务器半连接队列

低流量高伤害,消耗CPU/内存,无需大带宽

UDP 洪水攻击

传输层(Layer 4)

利用UDP无连接特性,向目标随机端口发送大量UDP数据包,迫使服务器处理无效请求

流量大,堵塞带宽,攻击成本低

ICMP 洪水攻击(Ping洪水)

网络层(Layer 3)

向目标发送大量ICMP Echo Request(Ping请求),迫使目标大量回复,耗尽带宽

流量密集,易导致网络链路拥塞,传统防火墙可初步拦截

HTTP Flood

应用层(Layer 7)

模拟正常用户,向Web服务器发送大量HTTP GET/POST请求,消耗应用处理资源

伪装性强,难以拦截,目标是让Web服务瘫痪

2.用 hping3 工具模拟dos攻击

1.例如:模拟 SYN Flood(SYN 洪水)攻击 : hping3 --flood -S --rand-source -p 80 IP

2.UDP 洪水攻击    hping3 --flood -2 --rand-source -p 53 IP

3.ICMP(Ping)洪水攻击    hping3 --flood -1 --rand-source IP

由此我们看到在刚刚的一瞬间,靶机上的任务管理器过载运行,页面进不去,这就说明我们的dos攻击成功了,而当我们停止到kali的攻击,靶机恢复运行。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐