第1篇 Wireshark应用篇 2
第1章 Wireshark的基础知识 2
1.1 Wireshark的功能 2
1.1.1 Wireshark主窗口界面 2
1.1.2 Wireshark的作用 3
1.2 安装Wireshark 4
1.2.1 获取Wireshark 4
1.2.2 安装Wireshark 6
1.3 Wireshark捕获数据 10
1.4 认识数据包 10
1.5 捕获HTTP包 13
1.6 访问Wireshark资源 16
1.7 Wireshark快速入门 18
1.8 分析网络数据 25
1.8.1 分析Web浏览数据 26
1.8.2 分析后台数据 28
1.9 打开其他工具捕获的文件 29
第2章 设置Wireshark视图 30
2.1 设置Packet List面板列 30
2.1.1 添加列 30
2.1.2 隐藏、删除、重新排序及编辑列 31
2.2 Wireshark分析器及Profile设置 37
2.2.1 Wireshark分析器 37
2.2.2 分析非标准端口号流量 39
2.2.3 设置Wireshark显示的特定数据类型 42
2.2.4 使用Profile定制Wireshark 47
2.2.5 查找关键的Wireshark Profile 48
2.3 数据包时间延迟 50
2.3.1 时间延迟 50
2.3.2 检查延迟问题 51
2.3.3 检查时间差延迟问题 53
第3章 捕获过滤器技巧 56
3.1 捕获过滤器简介 56
3.2 选择捕获位置 57
3.3 选择捕获接口 58
3.3.1 判断哪个适配器上的数据 58
3.3.2 使用多适配器捕获 59
3.4 捕获以太网数据 59
3.5 捕获无线数据 60
3.5.1 捕获无线网络数据的方式 60
3.5.2 使用AirPcap适配器 61
3.6 处理大数据 61
3.6.1 捕获过滤器 61
3.6.2 捕获文件集 62
3.7 处理随机发生的问题 64
3.8 捕获基于MAC/IP地址数据 66
3.8.1 捕获单个IP地址数据 66
3.8.2 捕获IP地址范围 68
3.8.3 捕获广播或多播地址数据 70
3.8.4 捕获MAC地址数据 70
3.9 捕获端口应用程序数据 73
3.9.1 捕获所有端口号的数据 73
3.9.2 结合基于端口的捕获过滤器 74
3.10 捕获特定ICMP数据 77
第4章 显示技巧 80
4.1 显示过滤器简介 80
4.2 使用显示过滤器 81
4.2.1 显示过滤器语法 81
4.2.2 检查语法错误 83
4.2.3 识别字段名 85
4.2.4 比较运算符 87
4.2.5 表达式过滤器 87
4.2.6 使用自动补全功能 89
4.2.7 手动添加显示列 90
4.3 编辑和使用默认显示过滤器 93
4.4 过滤显示HTTP 94
4.5 过滤显示DHCP 97
4.6 根据地址过滤显示 98
4.6.1 显示单个IP地址或主机数据 98
4.6.2 显示一个地址范围的数据 100
4.6.3 显示一个子网IP的数据 101
4.7 过滤显示单一的TCP/UDP会话 102
4.8 使用复杂表达式过滤 106
4.8.1 使用逻辑运算符 106
4.8.2 使用括号 108
4.8.3 使用关键字 110
4.8.4 使用通配符 112
4.9 发现通信延迟 114
4.9.1 时间过滤器(frame.time_delta) 114
4.9.2 基于TCP的时间过滤(tcp.time_delta) 115
4.10 设置显示过滤器按钮 117
4.10.1 创建显示过滤器表达式按钮 118
4.10.2 编辑、添加、删除显示过滤器按钮 118
4.10.3 编辑preferences文件 119
第5章 着色规则和数据包导出 122
5.1 认识着色规则 122
5.2 禁用着色规则 123
5.2.1 禁用指定类型数据包彩色高亮 123
5.2.2 禁用所有包彩色高亮 125
5.3 创建用户着色规则 125
5.3.1 创建时间差着色规则 125
5.3.2 快速查看FTP用户名密码着色规则 127
5.3.3 创建单个会话着色规则 130
5.4 导出数据包 131
5.4.1 导出显示包 131
5.4.2 导出标记包 133
5.4.3 导出包的详细信息 134
第6章 构建图表 139
6.1 数据统计表 139
6.1.1 端点统计 139
6.1.2 网络会话统计 141
6.1.3 快速过滤会话 142
6.1.4 地图化显示端点统计信息 144
6.2 协议分层统计 147
6.3 图表化显示带宽使用情况 148
6.3.1 认识1O Graph 148
6.3.2 应用显示过滤器 149
6.4 专家信息 152
6.5 构建各种网络错误图表 154
6.5.1 构建所有TCP标志位包 154
6.5.2 构建单个TCP标志位包 155
第7章 重组数据 157
7.1 重组Web会话 157
7.1.1 重组Web浏览会话 157
7.1.2 导出HTTP对象 162
7.2 重组FTP会话 165
7.2.1 重组FTP数据 165
7.2.2 提取FTP传输的文件 167
第8章 添加注释 170
8.1 捕获文件注释 170
8.2 包注释 170
8.2.1 添加包注释 171
8.2.2 查看包注释 171
8.3 导出包注释 173
8.3.1 使用Export Packet Dissections功能导出 173
8.3.2 使用复制功能导出包 175
第9章 捕获、分割和合并数据 177
9.1 将大文件分割为文件集 177
9.1.1 添加Wireshark程序目录到自己的位置 177
9.1.2 使用Capinfos获取文件大小和包数 177
9.1.3 分割文件 178
9.2 合并多个捕获文件 183
9.3 命令行捕获数据 184
9.3.1 Dumpcap和Tshark工具 184
9.3.2 使用捕获过滤器 187
9.3.3 使用显示过滤器 188
9.4 导出字段值和统计信息 189
9.4.1 导出字段值 189
9.4.2 导出数据统计 191
第2篇 网络协议分析篇 196
第10章 ARP协议抓包分析 196
10.1 ARP基础知识 196
10.1.1 什么是ARP 196
10.1.2 ARP工作流程 196
10.1.3 ARP缓存表 197
10.2 捕获ARP协议包 200
10.2.1 Wireshark位置 200
10.2.2 使用捕获过滤器 201
10.3 分析ARP协议包 203
10.3.1 ARP报文格式 203
10.3.2 ARP请求包 204
10.3.3 ARP响应包 205
第11章 互联网协议(IP)抓包分析 207
11.1 互联网协议(IIP)概述 207
11.1.1 互联网协议地址(IP地址)的由来 207
11.1.2 IP地址 208
11.1.3 IP地址的构成 208
11.2 捕获IP数据包 209
11.2.1 什么是IIP数据报 209
11.2.2 Wireshark位置 210
11.2.3 捕获IP数据包 210
11.2.4 捕获IP分片数据包 213
11.3 IP数据报首部格式 215
11.3.1 存活时间TTL 216
11.3.2 IP分片 217
11.4 分析IP数据包 218
11.4.1 分析IP首部 218
11.4.2 分析IP数据包中TTL的变化 220
11.4.3 IP分片数据包分析 223
第12章 UDP协议抓包分析 229
12.1 UDP协议概述 229
12.1.1 什么是UDP协议 229
12.1.2 UDP协议的特点 229
12.2 捕获UDP数据包 230
12.3 分析UDP数据包 232
12.3.1 UDP首部格式 233
12.3.2 分析UDP数据包 233
第13章 TCP协议抓包分析 236
13.1 TCP协议概述 236
13.1.1 TCP协议的由来 236
13.1.2 TCP端口 236
13.1.3 TCP三次握手 237
13.1.4 TCP四次断开 239
13.1.5 TCP重置 239
13.2 捕获TCP数据包 240
13.2.1 使用捕获过滤器 240
13.2.2 使用显示过滤器 242
13.2.3 使用着色规则 243
13.3 TCP数据包分析 249
13.3.1 TCP首部 249
13.3.2 分析TCP的三次握手 251
13.3.3 分析TCP的四次断开 257
13.3.4 分析TCP重置数据包 263
第14章 ICMP协议抓包分析 266
14.1 ICMP协议概述 266
14.1.1 什么是ICMP协议 266
14.1.2 学习ICMP的重要性 266
14.1.3 Echo请求与响应 267
14.1.4 路由跟踪 267
14.2 捕获ICMP协议包 267
14.2.1 捕获正常ICMP数据包 268
14.2.2 捕获请求超时的数据包 269
14.2.3 捕获目标主机不可达的数据包 271
14.3 分析ICMP数据包 272
14.3.1 ICMP首部 272
14.3.2 分析ICMP数据包——Echo Ping请求包 274
14.3.3 分析ICMP数据包——Echo Ping响应包 275
14.3.4 分析ICMP数据包——请求超时数据包 277
14.3.5 分析ICMP数据包——目标主机不可达的数据包 279
第15章 DHCP数据抓包分析 281
15.1 DHCP概述 281
15.1.1 什么是DHCP 281
15.1.2 DHCP的作用 281
15.1.3 DHCP 工作流程 282
15.2 DHCP数据抓包 284
15.2.1 Wireshark位置 284
15.2.2 使用捕获过滤器 284
15.2.3 过滤显示DHCP 289
15.3 DHCP数据包分析 291
15.3.1 DHCP报文格式 291
15.3.2 DHCP报文类型 292
15.3.3 发现数据包 293
15.3.4 响应数据包 296
15.3.5 请求数据包 298
15.3.6 确认数据包 301
第16章 DNS抓包分析 304
16.1 DNS概述 304
16.1.1 什么是DNS 304
16.1.2 DNS的系统结构 305
16.1.3 DNS系统解析过程 305
16.1.4 DNS问题类型 307
16.2 捕获DNS数据包 307
16.3 分析DNS数据包 311
16.3.1 DNS报文格式 311
16.3.2 分析DNS数据包 312
第17章 HTTP协议抓包分析 317
17.1 HTTP协议概述 317
17.1.1 什么是HTTP 317
17.1.2 HTTP请求方法 317
17.1.3 HTTP工作流程 318
17.1.4 持久连接和非持久连接 319
17.2 捕获HTTP数据包 320
17.2.1 使用捕获过滤器 320
17.2.2 显示过滤HTTP协议包 323
17.2.3 导出数据包 326
17.3 分析HTTP数据包 332
17.3.1 HTTP报文格式 332
17.3.2 HTTP的头域 333
17.3.3 分析GET方法的HTTP数据包 335
17.3.4 分析POST方法的HTTP数据包 339
17.4 显示捕获文件的原始内容 343
17.4.1 安装Xplico 343
17.4.2 解析HTTP包 344
第18章 HTTPS协议抓包分析 351
18.1 HTTPS协议概述 351
18.1.1 什么是HTTPS协议 351
18.1.2 HTTP和HTTPS协议的区别 351
18.1.3 HTTPS工作流程 352
18.2 SSL概述 352
18.2.1 什么是SSL 353
18.2.2 SSL工作流程 353
18.2.3 SSL协议的握手过程 353
18.3 捕获HTTPS数据包 354
18.3.1 使用捕获过滤器 354
18.3.2 显示过滤数据包 356
18.4 分析HTTPS数据包 359
18.4.1 客户端发出请求(Client Hello) 360
18.4.2 服务器响应(ServerHello) 362
18.4.3 证书信息 363
18.4.4 密钥交换 365
18.4.5 应用层信息通信 367
第19章 FTP协议抓包分析 368
19.1 FTP协议概述 368
19.1.1 什么是FTP协议 368
19.1.2 FTP的工作流程 368
19.1.3 FTP常用控制命令 369
19.1.4 应答格式 370
19.2 捕获FTP协议数据包 372
19.3 分析FTP协议数据包 375
19.3.1 分析控制连接的数据 375
19.3.2 分析数据连接的数据 376
第20章 电子邮件抓包分析 380
20.1 邮件系统工作原理 380
20.1.1 什么邮件客户端 380
20.1.2 邮件系统的组成及传输过程 380
20.2 邮件相关协议概述 381
20.2.1 SMTP协议 382
20.2.2 POP协议 383
20.2.3 IMAP协议 384
20.3 捕获电子邮件数据包 386
20.3.1 Wireshark捕获位置 386
20.3.2 Foxmail邮件客户端的使用 387
20.3.3 捕获电子邮件数据包 389
20.4 分析发送邮件的数据包 390
20.4.1 分析SMTP工作流程 391
20.4.2 查看邮件内容 392
20.5 分析接收邮件的数据包 393
20.5.1 分析POP工作流程 393
20.5.2 查看邮件内容 395
第3篇 实战篇 398
第21章 操作系统启动过程抓包分析 398
21.1 操作系统概述 398
21.2 捕获操作系统启动过程产生的数据包 399
21.3 分析数据包 401
21.3.1 获取IP地址 401
21.3.2 加入组播组 402
21.3.3 发送NBNS协议包 402
21.3.4 ARP协议包的产生 403
21.3.5 访问共享资源 404
21.3.6 开机自动运行的程序 404