Web应用是通过网络访问Web服务器的一类应用。这类应用使用HTTP和HTTPS协议进行数据传输,如网站和各类手机App。为了验证软件工作状态,开发人员、渗透测试人员、网络维护人员往往需要对其传输的数据进行分析验证。Fiddler是业内知名的HTTP/HTTPS调试工具。它不仅提供强大的HTTP代理和分析功能,还具备针对数据传输的双向调试功能。本书共10章,主要内容包括Fiddler基础知识、认识Sessino、捕获数据、Session过滤和搜索、HTTP请求、HTTP响应、缓存、Cookie、常见类型会话分析、修改会话。本书适合软件测试人员、网站开发人员、渗透测试、网络维护人员、信息安全爱好者阅读。通过本书,可以帮助读者了解和掌握HTTP数据传输特点和捕获会话方式,熟练分析HTTP会话各项内容,并掌握会话修改技巧,从而完成HTTP应用调试。
封面图
目录
- 前言
- 第1章 Fiddler基础知识1
- 1.1 Fiddler简介1
- 1.1.1 Fiddler的工作原理1
- 1.1.2 Fiddler的作用2
- 1.2 获取Fiddler2
- 1.2.1 下载Fiddler3
- 1.2.2 安装Fiddler3
- 1.2.3 更新Fiddler4
- 1.3 Fiddler主界面介绍6
- 1.3.1 启动Fiddler7
- 1.3.2 Fiddler用户界面7
- 1.4 Fiddler捕获数据8
- 1.4.1 捕获本机数据8
- 1.4.2 捕获手机数据10
- 1.4.3 捕获其他主机数据13
- 1.4.4 捕获本地数据14
- 1.4.5 验证捕获数据15
- 1.4.6 使用上游代理17
- 1.4.7 常见问题19
- 1.5 配置HTTPS解密25
- 1.5.1 启用HTTPS解密25
- 1.5.2 导出证书28
- 1.5.3 在计算机上导入证书28
- 1.5.4 在手机上导入证书33
- 1.6 保存数据34
- 1.6.1 保存档案数据34
- 1.6.2 打开档案数据36
- 1.6.3 保存为其他文件格式38
- 第2章 认识Session43
- 2.1 Web Session列表43
- 2.2 Session的摘要信息44
- 2.2.1 会话编号44
- 2.2.2 响应状态码46
- 2.2.3 会话协议50
- 2.2.4 服务器主机52
- 2.2.5 统一资源定位符54
- 2.2.6 注释会话56
- 2.2.7 会话进程57
- 2.2.8 隐藏摘要信息59
- 2.3 Session统计信息60
- 2.3.1 单一会话统计信息60
- 2.3.2 多个会话统计信息62
- 2.4 整理Session信息65
- 2.4.1 标记Session65
- 2.4.2 删除Session67
- 2.4.3 提取信息69
- 第3章 捕获数据72
- 3.1 修改客户端状态72
- 3.1.1 设置User-Agent72
- 3.1.2 设置网络模式75
- 3.1.3 设置编码方式75
- 3.2 捕获过滤75
- 3.2.1 快速过滤75
- 3.2.2 Filters选项卡76
- 3.3 通过Hosts主机过滤77
- 3.3.1 是否显示互联网主机的会话77
- 3.3.2 隐藏指定主机名的会话78
- 3.3.3 只显示指定主机名的会话79
- 3.3.4 标记指定主机名的会话80
- 3.4 通过客户端进程过滤81
- 3.4.1 只显示指定进程下的数据流82
- 3.4.2 只显示进程名称以IE开头的数据流83
- 3.4.3 隐藏svchost.exe进程的数据流83
- 3.5 通过响应状态码过滤83
- 3.6 通过响应类型和大小过滤84
- 3.6.1 捕获指定类型的会话85
- 3.6.2 捕获响应体规定范围的会话86
- 3.7 通过响应头内容过滤86
- 3.7.1 捕获响应头中包含Set-Cookie响应的会话并显示87
- 3.7.2 捕获指定HTTP响应头名称的会话并显示88
- 3.7.3 自定义响应头内容90
- 第4章 Session的分类、过滤与搜索91
- 4.1 Session的类型91
- 4.2 高级过滤92
- 4.2.1 通过select过滤93
- 4.2.2 通过?过滤96
- 4.2.3 通过allbut过滤97
- 4.2.4 通过会话大小过滤97
- 4.2.5 通过@Host过滤98
- 4.2.6 通过=status过滤98
- 4.2.7 通过=Method过滤99
- 4.3 全文搜索100
- 第5章 HTTP请求103
- 5.1 HTTP请求的构成103
- 5.2 请求行104
- 5.2.1 请求方法104
- 5.2.2 GET请求方法105
- 5.2.3 POST请求方法109
- 5.3 客户端信息111
- 5.3.1 可接受信息111
- 5.3.2 用户代理115
- 5.4 其他字段116
- 5.4.1 引用网址117
- 5.4.2 传输方式118
- 第6章 HTTP响应121
- 6.1 HTTP响应的构成121
- 6.2 预处理122
- 6.2.1 内容压缩编码123
- 6.2.2 传输编码126
- 6.3 响应行127
- 6.3.1 200 OK127
- 6.3.2 204 No Content129
- 6.3.3 301 Moved Permanently和302 Found131
- 6.3.4 304 Not Modified133
- 6.3.5 401 N/A134
- 6.3.6 404 Not Found135
- 6.3.7 501 Not Implemented136
- 6.3.8 502 DNS Lookup Failed或Connection Failed137
- 6.4 响应头138
- 6.4.1 内容信息138
- 6.4.2 服务器信息143
- 6.5 响应体145
- 第7章 缓存146
- 7.1 HTTP缓存机制146
- 7.1.1 HTTP缓存工作原理146
- 7.1.2 建立资源缓存信息149
- 7.1.3 根据有效期判断是否使用缓存150
- 7.1.4 基于缓存请求152
- 7.1.5 根据If-Modified-Since字段判断是否使用缓存153
- 7.1.6 根据If-None-Match字段判断是否使用缓存155
- 7.2 内部控制缓存157
- 7.2.1 禁止缓存157
- 7.2.2 缓存控制方式157
- 7.3 外部控制缓存159
- 7.3.1 用户操作159
- 7.3.2 HTML标签限制161
- 7.3.3 Fiddler控制缓存161
- 7.4 使用Caching工具分析163
- 7.4.1 分析首次请求的缓存163
- 7.4.2 验证缓存的有效性164
- 7.4.3 分析no-cache字段值的缓存165
- 第8章 Cookie167
- 8.1 实现Cookie机制167
- 8.1.1 Cookie的工作原理167
- 8.1.2 服务器建立Cookie规则168
- 8.1.3 客户端传输Cookie170
- 8.2 限制Cookie171
- 8.2.1 访问不同站点需使用不同的Cookie172
- 8.2.2 Cookie的有效期173
- 8.2.3 Cookie的发送范围174
- 8.2.4 安全防护178
- 第9章 常见的会话分析180
- 9.1 文本会话180
- 9.1.1 纯文本视图180
- 9.1.2 代码视图182
- 9.1.3 网页视图182
- 9.2 图片会话184
- 9.2.1 查看图片184
- 9.2.2 复制图片信息187
- 9.2.3 扩展编辑功能188
- 9.3 视频会话191
- 9.4 音乐会话195
- 9.5 JSON会话197
- 9.5.1 JSON的概念197
- 9.5.2 查看请求体的JSON199
- 9.5.3 查看响应体的JSON201
- 9.6 XML会话207
- 9.7 认证信息210
- 第10章 修改会话211
- 10.1 会话断点211
- 10.1.1 请求断点211
- 10.1.2 响应断点212
- 10.2 设置请求断点212
- 10.2.1 通过菜单栏设置请求断点212
- 10.2.2 通过命令行设置请求断点214
- 10.2.3 通过过滤器设置请求断点216
- 10.3 设置响应断点218
- 10.3.1 通过菜单栏设置响应断点219
- 10.3.2 通过命令行设置响应断点220
- 10.3.3 通过过滤器设置响应断点222
- 10.4 修改会话请求224
- 10.4.1 修改客户端请求的HOST224
- 10.4.2 修改客户端搜索的内容231
- 10.4.3 修改请求标题和内容不符234
- 10.5 修改会话响应238
- 10.5.1 删除服务器响应体238
- 10.5.2 更换响应体文字240
- 10.5.3 更换响应体图片243