当前位置: 首页 > article >正文

网络安全入门 | TCP/IP协议栈核心协议详解(附攻防案例)

一、网络模型基础: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

▶ 记录类型

类型说明安全威胁
AIPv4地址记录DNS劫持
AAAAIPv6地址记录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流量速率
  • 配置防火墙过滤异常类型

四、高频面试问题

  1. HTTPS握手过程中客户端如何验证证书合法性?
    → 检查颁发机构、有效期、域名匹配、CRL/OCSP吊销状态

  2. 如何检测ARP欺骗攻击?
    → 使用arp -a查看MAC一致性,Wireshark抓包分析异常ARP响应

  3. DNS查询为什么使用UDP协议?
    → 快速响应(单个包完成查询)、降低服务器开销


五、总结与学习建议

协议学习路线

  1. 掌握各协议在模型中的位置
  2. 使用Wireshark抓包分析真实流量
  3. 搭建实验环境复现协议攻击(推荐Kali Linux)
  4. 阅读RFC文档理解技术细节

下期预告:TCP三次握手/四次挥手全解析 & SYN Flood防御实战


✍️ 本文由【mermoy_mumu】原创,转载请注明出处。关注作者获取更多硬核技术干货!

 

 


http://www.kler.cn/a/559784.html

相关文章:

  • 【redis】redis内存管理,过期策略与淘汰策略
  • 嵌入式硬件篇---常用的汇编语言指令
  • C#初级教程(7)——初级期末检测
  • 【大模型LLM】DeepSeek LLM Scaling Open-Source Language Models with Longtermism
  • Docker(Nginx)部署Vue
  • 代码随想录算法训练营第四十四天| 动态规划07
  • 【深度学习】Adam和AdamW优化器有什么区别,以及为什么Adam会被自适应学习率影响
  • Netstat(Network Statistics)网络工具介绍
  • 《游戏人工智能编程 案例精粹》阅读心得
  • 【AI】面试高频考点-数据标注规则
  • blackbox.ai 一站式AI代理 畅享顶级模型
  • Qt学习 网络编程 TPC通信
  • 激光工控机在自动化生产线中有什么关键作用?
  • Pinia 3.0 正式发布:全面拥抱 Vue 3 生态,升级指南与实战教程
  • PyTorch v2.6 Overview
  • Win10配置VSCode的C/C++编译环境
  • 【PX4日志解析报错】pyulog工具解析日志出错
  • 一文讲解Redis中的混合持久化
  • 学术论文项目网站搭建教程【Github】
  • mysql的源码包安装