一、网络模型基础:OSI vs TCP/IP
1.1 经典OSI七层模型
7. 应用层 : HTTP/FTP/DNS 6. 表示层 : 数据加密/压缩 5. 会话层 : 建立/维护会话 4. 传输层 : TCP/UDP 3. 网络层 : IP/ICMP 2. 数据链路层 : ARP/PPP 1. 物理层 : 网线/光纤
1.2 实际应用的TCP/IP四层模型
应用层(HTTP/HTTPS/DNS) 传输层(TCP/UDP) 网络层(IP/ICMP) 网络接口层(ARP/Ethernet)
关键差异:
- TCP/IP将OSI上三层合并为应用层
- 更注重协议的实际实现而非理论分层
二、应用层核心协议剖析
2.1 HTTP/HTTPS
▶ HTTP特性
# 典型请求头示例
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
- 明文传输
- 无状态协议(依赖Cookie/Session)
- 默认端口80
▶ HTTPS安全机制
graph LR
A[客户端] -->|Client Hello| B(服务端)
B -->|Server Hello+证书| A
A -->|验证证书| CA[证书颁发机构]
A -->|生成会话密钥| B
B -->|加密确认| A
- SSL/TLS加密隧道
- 混合加密体系(RSA交换密钥 + AES加密数据)
- 端口443
- 证书验证(防中间人攻击)
2.2 DNS域名解析
▶ 查询过程
浏览器缓存 → 本地Hosts → 本地DNS → 根DNS → 顶级DNS → 权威DNS
▶ 记录类型
类型 | 说明 | 安全威胁 |
---|---|---|
A | IPv4地址记录 | DNS劫持 |
AAAA | IPv6地址记录 | DNS缓存投毒 |
CNAME | 别名记录 | 子域名劫持 |
MX | 邮件服务器记录 | 钓鱼邮件伪造 |
防御方案:
- DNSSEC扩展(数字签名验证)
- 使用DoH(DNS over HTTPS)
三、网络层关键协议
3.1 ARP协议
▶ 工作原理
# ARP请求示例(广播)
Sender MAC: 00:11:22:33:44:55
Sender IP: 192.168.1.10
Target IP: 192.168.1.1
▶ ARP欺骗攻击
攻击者伪造ARP响应 → 将网关MAC指向自己 → 流量劫持
防御手段:
- 静态ARP绑定
- 部署ARP防火墙
- 启用DHCP Snooping
3.2 ICMP协议
▶ 典型应用
- Ping命令:
ping -n 5 www.baidu.com
- Traceroute:路径追踪(TTL递增)
▶ 安全风险
ICMP Flood攻击:伪造大量请求耗尽目标资源
防护建议:
- 限制ICMP流量速率
- 配置防火墙过滤异常类型
四、高频面试问题
-
HTTPS握手过程中客户端如何验证证书合法性?
→ 检查颁发机构、有效期、域名匹配、CRL/OCSP吊销状态 -
如何检测ARP欺骗攻击?
→ 使用arp -a
查看MAC一致性,Wireshark抓包分析异常ARP响应 -
DNS查询为什么使用UDP协议?
→ 快速响应(单个包完成查询)、降低服务器开销
五、总结与学习建议
协议学习路线:
- 掌握各协议在模型中的位置
- 使用Wireshark抓包分析真实流量
- 搭建实验环境复现协议攻击(推荐Kali Linux)
- 阅读RFC文档理解技术细节
下期预告:TCP三次握手/四次挥手全解析 & SYN Flood防御实战
✍️ 本文由【mermoy_mumu】原创,转载请注明出处。关注作者获取更多硬核技术干货!