跳转至

网络协议简介

网络协议定义通信双方如何交换信息。没有协议,设备即使连在同一条链路上,也无法知道对方发送的数据代表地址、命令、正文还是错误。

协议解决的问题

  • 寻址:数据发给谁,例如 MAC 地址、IP 地址、端口和域名。
  • 封装:上层数据如何放入下层报文。
  • 分片与重组:大数据如何拆分和恢复。
  • 可靠性:是否需要确认、重传和顺序控制。
  • 会话状态:连接如何建立、保持和关闭。
  • 安全性:身份认证、完整性和加密如何实现。
  • 错误处理:异常如何报告和恢复。

分层理解

常见学习方式是按 TCP/IP 模型分层:

层次 典型协议 关注点
网络接口层 Ethernet、ARP、PPP 本地链路传输
网络层 IP、ICMP、IGMP 跨网络寻址与路由
传输层 TCP、UDP 端到端进程通信
应用层 HTTP、DNS、SSH、FTP 具体应用语义

分层的好处是把复杂通信拆开分析。抓包时可以从外到内依次观察:链路帧、IP 包、TCP/UDP 段、应用层数据。

安全分析中的关注点

  • 明文协议是否泄露凭据或敏感数据。
  • 服务端是否正确验证协议字段长度和状态。
  • 客户端是否信任伪造响应。
  • 加密协议是否验证证书和主机名。
  • 抓包中是否出现异常重传、重定向或错误码。

CTF 网络题常要求从流量、日志或服务交互中恢复协议状态。理解协议比记忆单个工具命令更重要。