1、Wireshark 数据抓包分析 网 络协议篇(内部资料) 版权所有 大学霸 Wireshark 数据抓包分析 网 络协议 篇 ( 内部资料 ) 大 学霸 Wireshark 数据抓包分析 网 络协议篇(内部资料) 版权所有 大学霸 前 言 Wireshark 是 目前 最受 欢迎 的抓包 工具 。 它可 以运 行 在 Windows 、 Linux 及 MAC OS X 操 作系 统中 , 并提供了友好的图形 界面 。同时,Wireshark 提供 功 能强大的数据抓包功 能。 使用它,可以以各种 方式 抓取用 户所 需要 的网 络数 据包。 但是用 户往 往无 法从 数据 包中直
2、接获 取所 需要 的数 据。 这 是由 于所 有的 信息 在传输 过程 中, 都会 被 按照各 种网 络 协 议进 行封 装。 用 户想 要从 海量 的数 据抓包 中获 取的 有用 的信 息, 必 须了 解各 种常 见 的 网 络协议 。 什么是 网络 协议 呢? 网络 协议就 和我 们说 话使 用某 种语言 规范 一样 。 当 两个 人谈话 时, 如果 不使 用 共同的 语言 , 可 能无 法沟 通。 计 算机 也一 样, 在两 台计算 机之 间传 输数 据时 , 也必 须使 用相 同的 协 议 才 可以进 行通 信。 由于数 据在 网络 中传 输时 ,无法 看到 传输 的数 据。 这时候
3、用户 就可 以使 用 Wireshark 抓 包。 通过 学 习网络 协议 规范 , 我 们就 可以分 析捕 获到 的包 , 并 从中查 看到 传输 的数 据, 如用户 发送 的邮 件内 容、 QQ 号码等 。 为 了方 便用 户对 数 据包的 分析 , 本 书详 细介 绍 了常用 的各 种网 络协 议, 如 ARP 、 IP 、 TCP 、 UDP 、 HTTP 、HTTPS 等。 1. 学习所需的系统和软件 安装 Windows 7 操作 系统 安装 Kali Linux 操作系 统 安装 Wireshark 集线器 2. 学习建议 大家学 习之 前, 可以 致信 到 xxxxxxxxxx
4、xxx , 获取 相关的 资料 和软 件。 如果 大家在 学习 过程 遇到 问 题,也 可以 将问 题发 送到 该邮箱 。我 们尽 可能 给大 家解决 。 Wireshark 数据抓包分析 网 络协议篇(内部资料) 版权所有 大学霸 目 录 第 1 章 网 络协 议抓 包概 述 . 1 1.1 数据 抓包 工具 1 1.1.1 数据 抓包 原理 . 1 1.1.2 常用 数据 抓包 工具 Wireshark . 1 1.2 安装 Wireshark. 2 1.2.1 安装 到 Windows 系统 2 1.2.2 安装 到 Linux 系统 6 1.3 网络 协议 原理 7 1.3.1 什
5、么 是网 络协 议 . 7 1.3.2 OSI 七层模 型 7 1.3.3 TCP/IP 协 议族 8 1.3.4 数据 封装 . 9 第 2 章 ARP 协 议抓 包分 析 11 2.1 ARP 基 础知 识 . 11 2.1.1 什么 是 ARP 11 2.1.2 ARP 工作 流程 11 2.1.3 ARP 缓存 表 12 2.2 捕获 ARP 协议 包 15 2.2.1 Wireshark 位置 15 2.2.2 使用 捕获 过滤 器 . 15 2.3 分析 ARP 协议 包 17 2.3.1 ARP 报文 格式 17 2.3.2 ARP 请求 包 18 2.3.3 ARP 响应 包
6、20 第 3 章 互 联网 协议 (IP )抓包 分析 21 3.1 互联 网协 议(IP )概 述 . 21 3.1.1 互联 网协 议地 址(IP 地址 )的 由来 . 21 3.1.2 IP 地址 . 22 3.1.3 IP 地 址的 构成 . 23 3.2 捕获 IP 数 据包 . 23 3.2.1 什么 是 IP 数据 报 24 3.2.2 Wireshark 位置 24 3.2.3 捕获 IP 数 据包 25 3.2.4 捕获 IP 分 片数 据包 27 3.3 IP 数据 报首 部格式 29 3.3.1 存活 时 间 TTL . 30 3.3.2 IP 分片 . 31 Wires
7、hark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 2 3.4 分析 IP 数 据包 . 32 3.4.1 分析 IP 首部 32 3.4.2 分析 IP 数 据包 中 TTL 的变化. 33 3.4.3 IP 分 片数 据包 分析 . 36 第 4 章 UDP 协议 抓包 分 析 42 4.1 UDP 协议 概述 . 42 4.1.1 什么 是 UDP 协议 . 42 4.1.2 UDP 协 议的 特点 42 4.2 捕获 UDP 数据 包 43 4.3 分析 UDP 数据 包 45 4.3.1 UDP 首 部格 式 46 4.3.2 分析 UDP 数
8、据包 . 46 第 5 章 TCP 协 议抓 包分 析 . 48 5.1 TCP 协 议概 述 48 5.1.1 TCP 协议 的由 来 . 48 5.1.2 TCP 端口 . 48 5.1.3 TCP 三次 握手 . 49 5.1.4 TCP 四次 断开 . 51 5.1.4 TCP 重置 . 51 5.2 捕获 TCP 数 据包 . 52 5.2.1 使用 捕获 过滤 器 . 52 5.2.2 使用 显示 过滤 器 . 54 5.2.3 使用 着色 规则 . 56 5.3 TCP 数 据包 分析 61 5.3.1 TCP 首部 . 62 5.3.2 分析 TCP 的三 次握 手 63 5.
9、3.3 分析 TCP 的四 次断 开 68 5.3.4 分析 TCP 重置 数据 包 74 第 6 章 ICMP 协议 抓包 分 析 77 6.1 ICMP 协议 概述 . 77 6.1.1 什么 是 ICMP 协议 . 77 6.1.2 学习 ICMP 的 重要 性 . 77 6.1.3 Echo 请 求与 响应 77 6.1.4 路由 跟踪 . 78 6.2 捕获 ICMP 协议 包 78 6.2.1 捕获 正 常 ICMP 数 据包 78 6.2.2 捕获 请求 超时 的数 据包 . 80 6.2.3 捕获 目标 主机 不可 达的数 据包 . 82 6.3 分析 ICMP 数据 包 84
10、 6.3.1 ICMP 首部 84 6.3.2 分析 ICMP 数 据包 Echo Ping 请 求包 85 Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 3 6.3.3 分析 ICMP 数 据包 Echo Ping 响 应包 86 6.3.4 分析 ICMP 数 据包 请 求超 时数 据包 88 6.3.5 分析 ICMP 数 据包 目标 主 机不 可达 的数 据包 90 第 7 章 DHCP 数 据抓 包 分析 92 7.1 DHCP 概述 92 7.1.1 什么 是 DHCP 92 7.1.2 DHCP 的作 用 92 7.1.3 D
11、HCP 工作 流程 93 7.2 DHCP 数 据抓 包. 95 7.2.1 Wireshark 位置 95 7.2.2 使用 捕获 过滤 器 . 96 7.2.3 过滤 显 示 DHCP 100 7.3 DHCP 数 据包 分析. 102 7.3.1 DHCP 报文 格式 103 7.3.2 DHCP 报文 类型 104 7.3.3 发现 数据 包 . 104 7.3.4 响应 数据 包 . 106 7.3.5 请求 数据 包 . 108 7.3.6 确认 数据 包 . 111 第 8 章 DNS 抓包 分析 114 8.1 DNS 概述 . 114 8.1.1 什么 是 DNS 114 8
12、.1.2 DNS 的 系统 结构 114 8.1.3 DNS 系 统解 析过 程 115 8.1.4 DNS 问 题类 型 117 8.2 捕获 DNS 数据 包 117 8.3 分析 DNS 数据 包 121 8.3.1 DNS 报 文格 式 121 8.3.2 分析 DNS 数 据包 . 122 第 9 章 HTTP 协议 抓包 分析 127 9.1 HTTP 协议 概述 . 127 9.1.1 什么 是 HTTP 127 9.1.2 HTTP 请 求方 法 127 9.1.3 HTTP 工 作流 程 128 9.1.4 持久 连接 和非 持久 连接 . 128 9.2 捕获 HTTP 数
13、 据包 130 9.2.1 使用 捕获 过滤 器 . 130 9.2.2 显示 过 滤 HTTP 协 议包 . 132 9.2.3 导出 数据 包 . 136 9.3 分析 HTTP 数 据包 141 9.3.1 HTTP 报 文格 式 141 Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 4 9.3.2 HTTP 的 头域 142 9.3.3 分析 GET 方 法的 HTTP 数 据包 144 9.3.4 分析 POST 方 法的 HTTP 数据 包 147 9.4 显示 捕获 文件 的原 始 内容 151 9.4.1 安装 Xplico
14、 . 151 9.4.2 解析 HTTP 包 . 151 第 10 章 HTTPS 协 议抓 包分析 159 10.1 HTTPS 协议 概述 . 159 10.1.1 什 么是 HTTPS 协议 . 159 10.1.2 HTTP 和 HTTPS 协议的 区别 159 10.1.3 HTTPS 工作 流程 160 10.2 SSL 概述 160 10.2.1 什 么是 SSL . 160 10.2.2 SSL 工作 流程 . 161 10.2.3 SSL 协议 的握 手过 程 . 161 10.3 捕获 HTTPS 数据 包 162 10.3.1 使 用捕 获过 滤器 . 162 10.3.
15、2 显 示过 滤数 据包 . 164 10.4 分析 HTTPS 数据 包 167 10.4.1 客 户端 发出 请求 (Client Hello ) 168 10.4.2 服 务器 响应 (Server Hello ) . 171 10.4.3 证 书信 息 . 172 10.4.4 密 钥交 换 . 174 10.4.5 应 用层 信息 通信 . 175 第 11 章 FTP 协 议抓 包分 析 . 177 11.1 FTP 协 议概 述 177 11.1.1 什 么是 FTP 协议 177 11.1.2 FTP 的工 作流 程 . 177 11.1.3 FTP 常用 控制 命令 . 17
16、8 11.1.4 应 答格 式 . 179 11.2 捕获 FTP 协 议数 据 包 . 181 11.3 分析 FTP 协 议数 据 包 . 184 11.3.1 分 析控 制连 接的 数 据 . 184 11.3.2 分 析数 据连 接的 数 据 . 185 第 12 章 电子 邮件 抓包分析 . 190 12.1 邮件 系统 工作 原理 190 12.1.1 什 么邮 件客 户端 . 190 12.1.2 邮 件系 统的 组成 及 传 输过 程 . 190 12.2 邮件 相关 协议 概述 191 12.2.1 SMTP 协议 191 12.2.2 POP 协议 . 193 Wiresh
17、ark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 5 12.2.3 IMAP 协议 194 12.3 捕获 电子 邮件 数据 包 195 12.3.1 Wireshark 捕获 位 置 195 13.3.2 Foxmail 邮件客户 端的使 用 . 196 13.3.3 捕 获电 子邮 件数 据 包 . 198 12.4 分析 发送 邮件 的 数 据包 200 12.4.1 分析 SMTP 工作 流 程 . 201 12.4.2 查 看邮 件内 容 . 202 12.5 分析 接收 邮件 的数 据包 203 12.5.1 分析 POP 工作 流 程 203
18、 12.5.2 查 看邮 件内 容 . 206 第 13 章 操作 系统 启动 过 程抓包 分析 . 207 13.1 操作 系统 概述 207 13.2 捕获 操作 系统 启动 过程产 生的 数据 包 208 13.3 分析 数据 包 210 13.3.1 获取 IP 地址 210 13.3.2 加 入组 播组 . 211 13.3.3 发送 NBNS 协 议包 . 212 13.3.4 ARP 协 议包 的产 生. 213 13.3.5 访 问共 享资 源 . 213 13.3.6 开 机自 动运 行的 程 序 . 213 Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资
19、料 ) 版权 所 有 大学霸 6 第 1 章 网络 协议抓包概述 网络协 议是 用于 不同 计算 机之间 进行 网络 通信 的。 网络协 议是 网络 上所 有设 备 (如 网络 服务器 、 计 算机 、 交 换机 、 路由 器等 ) 之 间通 信规 则的集 合, 它规 定了 通信 时信息 必须 采用 的格式 和这 些格 式的 意义 。常见 的协 议有 TCP/IP 协 议、IPX/SPX 协议 、NetBEUI 协议 等。 本章将 介绍 将简 要讲 解 TCP/IP 网络 协议 。 1.1 数据 抓包 工 具 抓包工 具就 是用 来将 网络 传输发 送与 接收 的数 据包 进行截 获 、
20、重 发、 编辑 、 转存 等操作 , 也用来 检查 网络 安全 , 但 也往往 被某 些人 用来 网游 作弊等 。 抓包 工具 可以 在 Windows 、 Unix 等各种 平台 运行 网络 监听 软件, 主要 是针 对 TCP/IP 协议的 不安 全性 对运 行该 协议的 机器 进 行监听 。 本 节将 介绍 数据 抓包原 理及 工具 。 1.1.1 数据抓 包原理 数据在 网络 上以 很小 的称 为帧的 单位 传输 的 。 帧由 几部分 构成 , 不 同的 部分 执行不 同的 功能 。 帧 通过 特定的 称为 网络驱 动程 序的 软件 进行 成型 , 然 后通 过网卡 发送 到网线 上
21、, 通 过 网线到 达它 们的 目的 机器 , 在目 的机 器的 一端 执行 相反的 过程 。 接 收端 机器 的以太 网卡 捕获 到这些 帧, 并告 诉操 作系 统帧已 到达 , 然 后对 其进 行存储 。 就 在这 个 传 输和 接收过 程中 , 嗅 探器( 抓包 工具 )会 带来 安全方 面的 问题 。 每 一 个 在 局 域网 (LAN )上 的 工 作 站 都有 其 硬 件地址 , 这 些 地 址惟 一 地 表示了 网 络 上 的机器 ( 这一 点与 Internet 地址系 统比 较相 似 ) 。 当用 户发送 一个 数据 包时 , 如 果为广 播包 , 则可达 到局 域网 中的
22、所有 机器。 如果 为单 播包 ,则 只能到 达处 于同 一碰 撞域 中的机 器。 在一般 情况 下, 网络 上所 有的机 器都 可以 “听 ” 到 通过的 流量 , 但 对不 属于 自己的 数据 包则不 予响 应。 换句 话说 ,工作 站 A 不 会捕 获属 于 工作站 B 的数 据, 而是 简 单地忽 略这 些 数据。 如果 某个 工作 站的 网络接 口处 于混 杂模 式, 那么它 就可 以捕 获网 络上 所有的 数据 包和 帧。 1.1.2 常用数 据抓包 工具 Wireshark 在计算 机中 , 可 使用 的抓 包 工具有 很多 , 如 SmartSniff 、 Sniffer 、
23、HTTP Analyzer 、 Wireshark 等。目 前最 常用 的数 据抓 包工具 就 是 Wireshark ,所 以本书 以 Wireshark 抓包 工具为 例, 捕 获各 种 TCP/IP 协议 数据 包 。本节 将详 细介 绍 Wireshark 工具 。 1.Wireshark 简史 Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 7 Wireshark 的 历史 相当 久远 , 其 最初 的版 本叫 做 Ethereal , 由 毕业 于密 苏里 大小 堪 萨斯城 分校计 算机 科学 专业的 Gerald Combs 出
24、于 项目 需要 而开发 ,并 与 1998 年以 GNU Public Licence (GPL )开 源许 可 证发布 。 在发布 了 Ethereal 8 年之 后 ,Combs 辞 职另 谋高 就, 但是在 那个 时候 他的 雇主 公司掌握 着 Ethereal 的商 标权 , 而 Combs 也没能和 其雇 主就 取 得 Ethereal 商标 达成 协议 。 于是 Combs 和整个 开发 团队 在 2006 年 中的时 候将 这个 项目 重新 命名 为 Wireshark 。 Wireshark 随 后迅 速地 取得 了大众 的青 睐, 而其 合作 开发团 队也 壮大 到 500
25、人 以上。 然 而之前 的 Ethereal 项目 却 再也没 有前 进过 一步 。 2.Wireshark 的 优点 Wireshark 在 日 常 应 用 中 具 有 许 多 优 点 , 无 论 是 针对初学者还是数据包分析专家, Wireshark 都 能通 过丰 富的 功能来 满足 用户 的需 要。 下面将 介 绍 Wireshark 的 一些优 点, 如 下所示 : 支持的 协议 :Wireshark 在 支持协 议的 有很 多, 目前 已经支持 超过 850 种协 议 。这 些协议 包括 从最 基础 的 IP 协议和 DHCP 协 议到 高级 的专用 协议 ,如 AppleTalk
26、 和 BitTorrent 等。 由于 Wireshark 在开 源模 式下 进行 开发 , 每 次更 新都 会增 加一 些 新协 议的支 持。 用户友好度:Wireshark 的界面是数据包嗅探工具中最容易理解的工具之一。它基 于 GUI , 并提 供了 清晰 的 菜单栏 和简 明的 布局 。 为 了增强 实用 性, 它还 提供 了不同 协议的 彩色 高亮 , 以及 通 过图形 展示 原始 数据 细节 等不同 功能 。 与 tcpdump 使用复 杂命令行的那些数据包嗅探工具相比,Wireshark 的图形化界面对于那些数据包分 析的初 学者 而言 ,是 十分 方便的 。 价格: 由 于 W
27、ireshark 是 开源的 ,它 在价 格上 面是 无以匹 敌的 。Wireshark 是 遵循 GPL 协议发 布的 自由 软件 , 任何 人无 论出 于私 人还 是商业 目的 , 都 可以 下载 并且使 用 Wireshark 。 程序支 持: 一个 软件 的成 败通常 取决 于其 程序 支持 的好坏 。虽 然像 Wireshark 这样 的自由 分发 软件 很少 会有 正式的 程序 支持, 而是 依 赖于开 源社 区的 用户 群 。 但是幸 运的是 ,Wireshark 社 区是 最活跃 的开 源项 目社 区之 一。Wireshark 网 页上 给出 了许 多程序支持的相关链接,包括在
28、线文档、支持与开发 wiki 、FAQ , 并 可 以 注 册 Wireshark 开发 者 都关 注 的 邮件列 表 。 CACE Technologes 通过 SharkNet 项目 也 对外 提供付 费支 持。 支持的 操作 系统 : Wireshark 对主 流的 操作 系统 都提 供了支 持 , 其中 包括 Windows 、 MAC OS X 以 及基 于 Linux 的系 统。 1.2 安装 Wireshark Wireshark ( 前称 Ethereal ) 是一个 网络 包分 析工 具 。 该工具 主要 是用 来捕 获网 络包 , 并 显示包 的详 细情 况。 本节 将分别
29、 介绍 在 Windows 和 Linux 操作 系统 上安 装 Wireshark 。 1.2.1 安装到 Windows 系统 在安 装 Wireshark 之 前, 首先需 要获 取到 该软 件包 。Wireshark 的所 有操 作系 统版本 都Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 8 可以从 官方 网站 下载 到 , 它的官 方网 站 是 http:/www.wireshark.org 。 Wireshark 目前最 新的 稳 定版本 是 1.12.1 ,如 图 1.1 所示。 图 1.1 获取 Wireshark 安装包
30、 在该界 面可 以看 到 Wireshark 支持 的操 作系 统列 表。 用户根 据自 己的 操作 系统 及硬件 类 型, 选 择下 载对 应的 软件 包, 然 后就 可以 安装 了。 这里首 先介 绍安 装 Wireshark 到 Windows 操作系 统中 。具 体操 作步 骤如下 所示 : (1 )从 Wireshark 官 网 下 载 Wireshark 最 新 版 本 的 Windows 安 装 包 , 其 名 称 为 Wireshark-win32-1.12.1.exe 。 (2) 双击 下载 的 Wireshark 软件 包, 将弹 出如 图 1.2 所示的 界面 。 (3)
31、 该界 面显 示了 Wireshark 的 基本 信息 。此 时单 击 Next 按 钮, 将显 示如 图 1.3 所示 的界面 。 Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 9 图 1.2 欢迎界面 图 1.3 许可 协议对话框 (4) 该界 面显 示了 使用 Wireshark 的许 可证 条款 信息 。 此 时单 击 I Agree 按 钮, 将显示 如图 1.4 所 示的 界面 。 (5) 该 界面 选择 希望 安装 的 Wireshark 组件, 这里 使 用默认 的设 置。 然后 单击 Next 按 钮,将 显示 如 图 1
32、.5 所示 的界面 。 图 1.4 选择组件对话框 图 1.5 Additional Tasks 对话框 (6) 该界 面用 来设 置创 建 快捷方 式的 位置 和 关 联已 经 文件 扩展 名 。 设 置完 后 单击 NextWireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 10 按钮, 将显 示如 图 1.6 所 示的界 面。 (7) 在该 界面 选择 Wireshark 的 安装 位置 。然 后 ,单击 Next 按 钮, 将显 示如 图 1.7 所 示的界 面。 图 1.6 安装位置对话框 图 1.7 安装 WinPcap 对话框 (8
33、) 该界 面 提 示是 否要 安 装 WinPcap 。如 果要 使用 Wireshark 捕 获数 据, 必须 要安装 WinPcap 。 所 以这 里必 须将 Install WinPcap 4.1.3 复 选 框勾上 , 然后 单击 Install 按钮, Wireshark 将开始 安装 。 等 Wireshark 安装过 程进 行了 大约 一半 的时候 ,将 弹出 如 图 1.8 所示的 界面 。 (9) 该界 面显 示了 安装 WinPcap 的 欢迎 信息 。 此 时 单击 Next 按钮 , 将 显示 如 图 1.9 所 示的界 面。 Wireshark 数 据抓 包分 析 网
34、络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 11 图 1.8 WinPcap 欢迎界面 图 1.9 WinPcap 许可证条款对话框 (10 ) 该 界面 显示 了 WinPcap 许 可证 条款信 息 。 此 时 单击 I Agree 按钮 , 将显 示 如图 1.10 所示的 界面 。 (11) 在该 界面 显示 了安 装 WinPcap 选 项, 然后 单 击 Install 按钮,将 显 示如 图 1.11 所 示的界 面。 Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 12 图 1.10 安装选项 图 1.11 安装
35、 WinPcap 完成 (12 ) 从该 界面 可 以看 到 WinPcap 已 安 装完 成。 此时 单 击 Finish 按 钮 , 将 继续 安 装 Wireshark 。 安装 完成 后, 将显示 如 图 1.12 所 示的 界 面。 (13) 从该 界面 可以 看 到 Wireshark 已 经安 装完 成。 此时单 击 Next 按 钮, 将显 示如图 1.13 所 示的 界面 。 图 1.12 Wireshark 安装完成 图 1.13 完成页面 (14) 从该 界面 可以 看 到 Wireshark 设 置向 导完 成。 此时如 果想 直接 启 动 Wireshark ,Wir
36、eshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 13 则勾选 Run Wireshark 1.10.7(32-bit) 复选框。然 后单 击 Finish 按钮,Wireshark 即可启 动。 启 动 Wireshak 后, 显示 界面 如图 1.14 所示 。 图 1.14 Wireshark 启动界面 (15 ) 以 上就 是 Wireshark 启动后 的界 面 。 此 时 , 用 户在该 界 面 选择 捕获 接口 , 然 后就 可以捕 获数 据包 了。 1.2.2 安装到 Linux 系统 下面 以 Red Hat Enterprise
37、Linux 操作 系统 为例 ,安 装 Wireshark 到 Linux 操作 系统。 具 体操作 步骤 如下 所示 : (1)从 Wireshark 官 网下 载源码 包, 其软 件名 为 wireshark-1.12.1.tar.bz2 。 (2) 解压 Wireshark 软件 包。执 行命 令如 下所 示: rootlocalhost # tar jxvf wireshark-1.12.1.tar.bz2 -C / 执行以 上命 令后 ,Wireashark 将被 解压 到/usr/ 目录 中 。 (3) 配置 Wireshark 软件 包。执 行命 令如 下所 示: rootOra
38、cle # cd /wireshark-1.12.1/ rootlocalhost wireshark-1.12.1# ./configure (4) 编译 Wireshark 软件 包。执 行命 令如 下所 示: rootlocalhost wireshark-1.12.1# make (5) 安装 Wireshark 软件 包。执 行命 令如 下所 示: rootlocalhost wireshark-1.12.1# make install 以上过 程成 功执 行完 后, 表示 Wireshark 软 件已 成功 安装 。 接 下来就 可以 使 用 Wireshark 工具了 。在 终端
39、 输入 命 令 wireshark ,启动 该工 具。 如下所 示: rootlocalhost # wireshark 执行以 上命 令后 ,Wireshark 就成 功启 动了 ,启 动后 的界面 和 图 1.14 一 样。 Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 14 注意 : 使 用 Wireshark 的 源 码包安 装时 , 可能 会涉 及 到 很多 依赖 包的 问题 。 如 果不能 很 好解决 依赖 包的 话 ,Wireshark 将 无法 安装 成功 。Wireshark 软 件包 的 版 本越 新 , 要 求依 赖包
40、 的版本 也会 很高 。 所 以, 如 果用户 在 Linux 中 安装 时, 建议可 以安 装版 本比 较低 的 Wireshark 。 但是在 大部 分 Linux 发行 版中自 带 有 Wireshark 软件 包, 用户 可以 直接 在添加 删除软 件中 安 装并使 用。 1.3 网 络协议 原理 网络协议(Protocol )是一 种特殊的软件,是计算机 网络实现其功能的最基本 机制。网 络协议 的本 质是 规则 , 即 各种硬 件和 软件 必须 遵循 的共同 守则 。 为 了更 好的 分析网 络之 间传 输的数 据, 必须 要掌 握计 算机是 如何 通过 网络 协议 进行通 信的
41、。本 节将 介绍 网络协 议原理 。 1.3.1 什么是 网 络协议 网络协 议即 网络 中 ( 包括 互联网 ) 传 递、 管理 信息 的一些 规范 。 如 同人 与人 之间相 互交 流是需 要遵 循一 定的 规矩 一样 。 计算 机之 间的 相互 通信需 要共 同遵 守一 定的 规则, 这些 规则 就称为 网络 协议 。 网络协 议是 由三 个要 素组 成,包 括语 义、 语法 、时 序。每 个要 素含 义如 下所 示: 语义: 是解 释控 制信 息每 个部分 的意 义。 它规 定了 需要发 出何 种控 制信 息, 以及完 成的动 作与 做出 什么 样的 响应。 语法: 是用 户数 据与
42、控制 信息的 结构 与格 式, 以及 数据出 现的 时序 。 时序: 是对 事件 发生 顺序 的详细 说明 ,也 可称 为“ 同步” 。 1.3.2 OSI 七 层模型 OSI (Open System Interconnection ,开 放式 系统 互连 )参考 模型 ,它 把网 络协 议从逻 辑 上分为 了七 层 。OSI 参考 模型从 下往 上依 次是, 物 理层、 数 据链 路层、 网络 层、 传输 层、 会 话层、 表示 层和 应用 层, 如图 1.15 所示 。 每一 层都 有相关 、相 对应 的物 理设 备。如 路由 器 是三层 交换 设备 、交 换机 是二层 交换 设备 。
43、Wireshark 数 据抓 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 15 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层图 1.15 OSI 参考模型 以上就 是 OSI 参考模 型, 这七层 模型 的主 要目 的是 为解决 异种 网络 互连 时所 遇到的 兼 容性问 题。 它的 最大 优点 就是将 服务 、 接 口、 协议 这三个 概念 明确 地区 分开 了。 服 务说 明某 一层为 上一 层提 供一 些什 么功能 、 接 口说 明上 一层 如何使 用下 层的 服务 、 而 协议涉 及如 何实 现本层 的服 务。 这样 各层 之间具 有很 强的 独
44、立 性, 互连网 络中 各实 体采 用什 么样的 协议 是没 有 限 制 的 , 只要 向 上 提 供相 同 的 服 务 并且 不 改 变 相邻 层 的 接 口 就可 以 了 。 下面 将 介 绍 一下 OSI 参考 模型 中各 层的 功 能。如 下所 示: 物理层 (Physical Layer ) : 物 理层 负责 传送 比特 (Bit ) , 涉 及到 接口 和传 输媒 体的 机械、 电气 等特 性。 数据链 路层 (Data Link Layer ):数据 链路 层负 责传 送帧(Frame )。 网络层 (Network Layer ) :网络 层负 责路 由、 传递 分组(Pac
45、ket )。 传输层 (Transport Layer ) : 传输 层负 责传 送完 整的 报文 (Message ) , 并 进行 浏览 控制和 差错 控制 。 会话层 (Session Layer ):会话 层负 责建 立、 维护 、终止 会话 连接 ,提 供会 话管理 服务等 。 表示层 (Presentation Layer ):表 示层 负责 数据 格式 的转换 。 应用层 (Application Layer ) : 应用 层给 应用 程序 提 供了接 口 , 使 应用 程序 接 入到网 络。 1.3.3 TCP/IP 协议 族 TCP/IP 是 传输控 制协 议/ 网 络互联
46、协议 (Transmission Control Protocol/Internet Protocol ) 的简称 。 我 们现 在所 使用 的网络 基本 都是 基 于 TCP/IP 协议 的。 早期 的 TCP/IP 模型是 一个 四 层结构 ,从下 往上依 次是 网络接 口层、 互联网 层、 传输层 和应用 层。在 后来 的使用 过程中 , 借鉴 OSI 的七层 参考 模型 ,将网 络接 口层 划分 为物 理层和 数据 链路 层, 形成 一个新 的五 层 结构。TCP/IP 是 一系 列协 议的结 合, 所以 严格 的称 号应该 是 TCP/IP 协 议族 。 Wireshark 数 据抓
47、 包分 析 网络 协议 篇( 内部 资料 ) 版权 所 有 大学霸 16 TCP/IP 协 议族 的前 四层与 OSI 参考模 型的 前四 层相 对应, 其功 能也 非常 类似 ,而应 用 层则 与 OSI 参考模 型的 最 高三层 相对 应, 如 图 1.16 所示。 应用层 表示层 会话层 传输层 数据 链 路层 物理层 物理层 应用层 传输层 网络层 数据链 路层 网络层 OSI TCP/IP图 1.16 OSI 参考模型 与 TCP/IP 协议族 TCP/IP 是 一组 用于 实现 网 络互联 的通 信协 议。Internet 网络 体系 结构 以 TCP/IP 协 议为 核心。 所以 ,每 一层 包含 了相当 独立 的、 具体 的协 议,如 表 1-1 所 示。 表 1-1 TCP/IP 协议族 应用层 HTTP 、FTP 、TFTP 、SMTP 、SNMP 、DNS 传输层 TCP 、UDP 、SCTP 网络层 ICMP 、IGMP IP ARP 、RARP 数据链路层 由底层网络定义的协议 物理层 下