ICMP 协 议 分析 1 ICMP 协 议 协 议 概述 IP 协 议 是 一 种 不 可 靠 的 协 议 ,无 法 进 行 差 错 控 制 。但 IP 协 议 可 以 借 助 其 他 协 议 来 实 现 这 一 功 能 ,如 ICMP。 ICMP( Internet Control Messages Protocol, 网 间 控 制 报 文 协 议 ) 允 许 主 机 或 路 由 器 报 告 差错 情 况 和 提 供 有 关 异 常 情 况 的 报 告 。 一 般 来 说 , ICMP 报 文 提 供 针 对 网 络 层 的 错 误 诊 断 、拥塞控 制 、路 径控 制 和 查询服务四项大的 功能 。 如 , 当一 个分组无 法 到达目的 站点或TTL 超时后, 路 由 器 就会丢弃此分组, 并向源站点返回一个目的 站点不 可 到达的 ICMP 报 文 。 2 ICMP 报文类型 2.1 ICMP 报文类型 ICMP 报 文 大体可 以 分为两种 类型, 即 ICMP 差 错 报 文 和 ICMP 询问报 文 。 但 细分又可 分为很多类型, 如 表 1 所示。 表 1 ICMP 报 文 类 型 2.2 ICMP 回 射 请 求 和 应 答 报 文 头 部 格 式 ICMP 报 文 被 封 装 在 IP 数 据 报 内 部 传 输 。如 图 1 所 示 ,是 ICMP 回 射 请 求 和 应 答 报 文 头 部 格 式 。 图 1 ICMP 回 射 请 求 和 应 答 报 文 头 部 格 式 各 种 ICMP 报 文 的 前 32bits 都 一 样 , 它 们 是 : 8bits 类 型 和 8bits 代 码 字 段 : 一 起 决 定 了 ICMP 报 文 的 类 型 。 常 见 的 有 : 类 型 8、代 码 0: 回 射 请 求 。 类 型 0、代 码 0: 回 射 应 答 。 类 型 11、代 码 0: 超时。 16bits 校验和 字 段 : 包括数 据 在 内 的 整个 ICMP 数 据 包的 校验和 , 其计算方法和 IP 头 部 校验和的 计算方法是 一 样 的 。 对于 ICMP 回 射 请 求 和 应 答 报 文 来说, 接下来是 16bits 标识符字 段 : 用于标识本 ICMP 进程。 最后是 16bits 序列号字 段 : 用于判断回 射 应 答 数 据 报 。 2.3 ICMP 目 标 不可达报 文 如 图 2 所 示 , 是 ICMP 目标不可达报 文 头 部 格 式 。 图 2 ICMP 目标不可达报 文 头 部...