第1章 走进Wireshark 1
1.1 Wireshark是什么 2
1.1.1 Wireshark的功能 2
1.1.2 Wireshark的历史 3
1.1.3 Wireshark的工作原理 3
1.1.4 Wireshark的优势 4
1.2 如何下载和安装Wireshark 6
1.2.1 安装前的准备 6
1.2.2 下载Wireshark 6
1.2.3 Wireshark的安装 7
1.3 一次完整的Wireshark使用过程 8
1.3.1 选择合适的网卡 9
1.3.2 开始数据包的捕获 10
1.3.3 过滤无用的数据 14
1.3.4 将捕获到的数据包保存到文件 18
1.4 小结 19
第2章 过滤无用的数据包 20
2.1 伯克利包过滤 21
2.2 捕获过滤器 23
2.3 显示过滤器 25
2.3.1 使用过滤器输入框创建显示过滤器 25
2.3.2 使用过滤器表达式创建显示过滤器 26
2.3.3 在数据包细节面板中创建显示过滤器 28
2.4 小结 29
第3章 捕获文件的打开与保存 30
3.1 捕获接口的输出功能 30
3.2 环状缓冲区 33
3.3 捕获接口的其他功能 33
3.3.1 显示选项 33
3.3.2 解析名称 34
3.3.3 自动停止捕获 35
3.4 保存捕获到的数据 35
3.5 保存显示过滤器 37
3.6 保存配置文件 39
3.7 小结 42
第4章 虚拟网络环境的构建 43
4.1 虚拟网络设备的构建工具eNSP 43
4.1.1 eNSP的下载与安装 44
4.1.2 使用eNSP创建一个实验环境 48
4.2 虚拟PC的工具VMware 51
4.3 在虚拟环境中引入Kali Linux 2 52
4.4 在虚拟环境中安装其他操作系统 57
4.5 eNSP与VMware的连接 58
4.5.1 VMware中的网络连接 58
4.5.2 通过eNSP中的云与VMware相连 60
4.6 小结 65
第5章 各种常见的网络设备 66
5.1 网线 66
5.2 集线器 69
5.3 交换机 71
5.4 路由器的工作原理 77
5.5 小结 78
第6章 Wireshark的部署方式 79
6.1 完成远程数据包捕获 79
6.2 集线器环境 84
6.3 交换环境 84
6.3.1 端口镜像 85
6.3.2 ARP欺骗 88
6.3.3 网络分路器 90
6.4 完成本地流量的捕获 91
6.5 完成虚拟机流量的捕获 92
6.6 小结 94
第7章 找到网络发生延迟的位置 95
7.1 建立一个可访问远程HTTP服务器的仿真网络 95
7.2 观察远程访问HTTP的过程 100
7.3 时间显示设置 103
7.4 各位置延迟时间的计算 107
7.4.1 网络传输延迟的计算 108
7.4.2 客户端延迟的计算 109
7.4.3 服务端延迟的计算 109
7.5 小结 110
第8章 分析不能上网的原因 111
8.1 建立一个用于测试的仿真网络 111
8.2 可能导致不能上网的原因 113
8.3 检查计算机的网络设置 113
8.3.1 确保网卡正常启动 113
8.3.2 检查IP配置的正确性 114
8.3.3 检查与网关的连接是否正常 120
8.3.4 获取域名服务器的IP地址 121
8.4 检查网络路径的连通性 122
8.5 其他情形 124
8.6 小结 125
第9章 来自链路层的攻击——失常的交换机 126
9.1 针对交换机的常见攻击方式 127
9.1.1 MAC地址欺骗攻击 127
9.1.2 MAC地址泛洪攻击 128
9.1.3 STP操纵攻击 128
9.1.4 广播风暴攻击 129
9.2 使用Wireshark分析针对交换机的攻击 129
9.2.1 统计功能 130
9.2.2 MAC地址泛洪攻击 134
9.2.3 找到攻击的源头 135
9.3 使用macof发起MAC地址泛洪攻击 137
9.4 如何防御MAC地址泛洪攻击 138
9.5 小结 139
第10章 来自网络层的欺骗——中间人攻击 140
10.1 中间人攻击的相关理论 140
10.1.1 ARP协议的相关理论 141
10.1.2 ARP欺骗的原理 146
10.2 使用专家系统分析中间人攻击 146
10.3 如何发起中间人攻击 150
10.3.1 使用arpspoof来发起攻击 150
10.3.2 使用Wireshark来发起攻击 153
10.4 如何防御中间人攻击 154
10.4.1 静态绑定ARP表项 154
10.4.2 使用DHCP Snooping功能 154
10.4.3 划分VLAN 155
10.5 小结 155
第11章 来自网络层的攻击——泪滴攻击 156
11.1 泪滴攻击的相关理论 156
11.1.1 IP协议的格式 157
11.1.2 IP分片 158
11.1.3 泪滴攻击 161
11.2 Wireshark的着色规则 162
11.3 根据TTL值判断攻击的来源 166
11.4 小结 168
第12章 来自传输层的洪水攻击(1)——SYN Flooding 169
12.1 拒绝服务攻击的相关理论 170
12.1.1 TCP连接的建立方式 170
12.1.2 SYN flooding攻击 173
12.2 模拟SYN flooding攻击 173
12.2.1 构造一个仿真环境 173
12.2.2 使用Hping3发起SYN flooding攻击 174
12.3 使用Wireshark的流向图功能来分析SYN flooding攻击 175
12.4 如何解决SYN Flooding拒绝服务攻击 177
12.5 在Wireshark中显示地理位置 178
12.6 小结 184
第13章 网络在传输什么——数据流功能 185
13.1 TCP的数据传输 185
13.2 Wireshark中的TCP流功能 187
13.3 网络取证实践 192
13.4 小结 198
第14章 来自传输层的洪水攻击(2)——UDP Flooding 199
14.1 UDP Flooding的相关理论 199
14.1.1 UDP协议 199
14.1.2 UDP Flooding攻击 200
14.2 模拟UDP Flooding攻击 201
14.3 使用Wireshark的绘图功能来分析UDP Flooding攻击 201
14.4 如何防御UDP Flooding攻击 207
14.5 amCharts的图表功能 209
14.6 小结 214
第15章 来自应用层的攻击——缓冲区溢出 215
15.1 缓冲区溢出攻击的相关理论 215
15.1.1 Wireshark观察下的HTTP协议 216
15.1.2 HTTP的请求与应答 216
15.1.3 HTTP的常用方法 217
15.1.4 HTTP中常用的过滤器 217
15.2 模拟缓冲区溢出攻击 218
15.3 使用Wireshark分析缓冲区溢出攻击 222
15.4 使用Wireshark检测远程控制 227
15.5 Wireshark对HTTPS协议的解析 230
15.6 小结 232
第16章 扩展Wireshark的功能 233
16.1 Wireshark编程开发的基础 233
16.1.1 Wireshark中对Lua的支持 234
16.1.2 Wireshark中Lua的初始化 235
16.2 使用Lua开发简单扩展功能 235
16.3 用Wireshark开发新的协议解析器 236
16.3.1 新协议的注册 236
16.3.2 解析器的编写 239
16.4 测试新协议 241
16.5 编写恶意攻击数据包检测模块 245
16.6 小结 248
第17章 Wireshark中的辅助工具 249
17.1 Wireshark命令行工具 249
17.2 Tshark.exe的使用方法 250
17.3 Dumpcap的用法 252
17.4 Editcap的使用方法 253
17.5 Mergecap的使用方法 254
17.6 capinfos的使用方法 255
17.7 USBPcapCMD的使用方法 256
17.8 小结 258