这一篇是 Networks and Network Security 课程的配套深度文,把 Module 3 的网络攻击整理成”AI 让你装 X 防的是什么”对照表。

前置阅读:IP 4 层和数据包 + 代理


三类网络攻击 — 先认大类

网络攻击千变万化,但针对网络层本身的攻击就 3 大类:

大类攻击者的目标AI 让你装的对应防御
拒绝服务(DoS/DDoS)让你的服务挂掉或慢到无法用Cloudflare / 加 rate limit / 装 fail2ban
包嗅探(Sniffing)偷听你的流量内容强制 HTTPS / VPN / 关掉公共 Wi-Fi
身份伪造(Spoofing)假冒别人发包,让你信错的人WAF / 验证证书 / 用 token 不用 IP

下面挨个看。


1. DoS / DDoS — 不让你的服务跑

DoS (Denial of Service) = 攻击者发超量请求让你的服务器忙不过来,真正的用户访问就被挤掉了。

DDoS = Distributed DoS — 一台机器流量打不死你,用几千台机器同时打(通常是僵尸网络 botnet 控制的肉鸡)。

三大经典 DoS 攻击

攻击攻击者怎么做哪一层比喻
SYN Flood只发 TCP 握手的第一步,不完成L3 传输层一堆人不断按门铃,你开门没人,但你忙得没法应付真客人
ICMP Flood发海量 ping 包L2 互联网层一堆人不断打电话只问”你在吗”,占满电话线
Ping of Death发一个超大畸形 ping 包L2 互联网层老式系统处理不了畸形包会崩(现代系统都修了)

AI 让你做的 DoS 防御 — 逐个看在防什么

# 1. Cloudflare 套在前面
# → Cloudflare 帮你过滤掉 99% 的 DDoS 流量,你只收到干净的
# 2. nginx rate limit
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
# → 同一个 IP 每秒最多 10 个请求,多了就拒绝
# → 防 application-layer DoS (一个人狂刷你的 API)
# 3. fail2ban
sudo apt install fail2ban
# → 看 SSH 登录日志,某 IP 失败 5 次就把它的 IP 拉黑 1 小时
# → 防 SSH 爆破 (一种 DoS 的近亲, 同时是 brute-force)
# 4. 限制连接数
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 100;
# → 同一个 IP 最多保持 100 个并发连接,多了就拒

为什么 AI 几乎一定让你套 Cloudflare:DDoS 是带宽对决——攻击者租 10 万台肉鸡用 100Gbps 打你,你 Vultr 那台 1Gbps 带宽的小机器,只有 Cloudflare 这种全球流量节点级别的服务才能扛


2. 包嗅探 — 偷听你的流量

包嗅探 = 攻击者把你的网络流量”录下来”,分析里面有什么。

Passive vs Active

类型攻击者做什么你能不能发现
被动嗅探在某个网络节点抓包,只读不改几乎不能 — 你完全不知道被监听
主动嗅探主动篡改流量(改请求 / 改返回)通常能从异常现象发现

AI 让你做的嗅探防御 — 都在防”被偷听”

# 1. 强制 HTTPS - 加密 body
server {
    listen 80;
    return 301 https://$host$request_uri;
    # → 任何 http 请求自动跳转 https
}
# → HTTPS 把 body 加密了, 嗅探的人抓到的只是密文
# → 但 header (你访问哪个 IP / 哪个端口) 还是明文
# 2. SSH 不用密码, 改用 key
# /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
# → 即便被嗅探, 密文 key 在中间也没法被简单截获
# 3. 不在公共 Wi-Fi 上做敏感操作 (or 套 VPN)
# → 公共 Wi-Fi 是 sniffing 的天堂,VPN 把你的整条流量加密

HTTPS 是 sniffing 的最大克星——但不是万能。Header 仍然明文,所以攻击者还是知道你访问了哪个网站(只是不知道你看了什么内容)。这是为什么对强隐私场景(比如新闻工作者)仅 HTTPS 不够,要套 VPN 或 Tor。


3. IP 欺骗 — 假冒身份

IP 欺骗 = 攻击者伪造数据包的”发件人”IP,让你以为请求来自一个可信的地方。

三种变体

变体攻击者做什么你能怎么防
中间人攻击 (On-path)站在你和服务器之间,改双方的流量HTTPS + 证书校验
重放攻击 (Replay)抓到你的合法请求,之后再发一次Token 加时间戳 + nonce(一次性数字)
Smurf 攻击伪造受害者 IP 作为发件人,让一堆机器反向打受害者ISP / 防火墙过滤伪造源 IP

AI 让你做的 spoofing 防御

# 1. HSTS - 强制浏览器只用 HTTPS,防降级中间人
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# 2. JWT 加时间戳 - 防 replay
import jwt
token = jwt.encode({
    "user_id": 123,
    "exp": datetime.utcnow() + timedelta(minutes=15)  # 15 分钟过期
}, secret)
# → 即便被抓到,15 分钟后就废了
# 3. 用 token 不用 IP 做身份认证
# ❌ if request.remote_ip == '1.2.3.4': allow()  ← IP 可伪造
# ✅ if verify_jwt(request.token): allow()       ← Token 难伪造

经典案例:AI 给你写”白名单 IP 登录”——if ip in WHITELIST: allow(),看起来很安全,但IP 可以被 spoof。正确做法是永远用 token,IP 只做辅助风控


看 AI 的”为什么这样配” — 3 个问题

读到任何一条 AI 让你做的安全配置,问 3 个问题:

  1. 它在防哪一类攻击? 服务挂掉(DoS)/ 被偷听(Sniffing)/ 被假冒(Spoofing)?
  2. 攻击在哪一层? 网络层(L1-2)/ 传输层(L3)/ 应用层(L4)?
  3. 它防的是攻击的”前段”还是”后段”? 前段(挡在外面 — Cloudflare)还是后段(出事追责 — 日志/告警)?

理解这 3 个问题,你看 AI 给你做的”为什么要这样配”,从直觉变成审计


别忘了 — 网络攻击只是第 1 层

这一篇覆盖的是网络层的攻击——packet 层面、流量层面。除了这些,你还会遇到:

网络层的防御只是开始——AI 让你套 WAF + 强制 HTTPS + 加限流,这 3 个搞定后你才能进入下一层防御。


你不需要知道怎么发起 DDoS 攻击。 你需要的是:AI 让你 apt install fail2ban,你 1 秒就知道它在防 SSH 爆破——不再像背咒语。