摘要
本书包括以下内容HTTP、HTTPS协议介绍;使用Fiddler捕获和修改HTTP包;Cookie机制和劫持攻击测试;手机抓包和弱网测试;重放HTTP包;JMeter模拟自动登录;JMeter压力测试。
本书特色本书是关于HTTP协议、Fiddler抓包工具、JMeter发包工具的实践指南;包含很多有趣的实例,方便读者动手操作;讲解Fiddler工具的应用场景;有配套的理论和操作视频;图文并茂,方便读者理解。
HTTP抓包实战 作者:肖佳
HTTP抓包实战 出版社:人民邮电出版社
HTTP抓包实战 内容简介
HTTP抓包利用Fiddler抓包工具来捕获HTTP数据包,然后对其进行重发、编辑等操作。HTTP抓包的用途非常广泛,主要用于Web开发调试、软件自动化测、接口自动化测试、性能测试和网络爬虫等方面。也用来检查网络安全。抓包也经常被用来进行数据截取等。
本书主要围绕抓包展开。全书共有22章,着重介绍了HTTP协议、如何使用Fiddler对HTTP包进行抓取,如何对HTTP进行分析,以及使用JMeter等工具来发送HTTP包以实现软件的自动化测试。本书图文并茂,实例丰富,还有配套的视频教程,方便读者参考并动手实践。
本书适合前端开发工程师、测试工程师、线上故障支持人员、接口开发人员和Web开发人员阅读,也适合对自动化测试感兴趣的人员阅读。
HTTP抓包实战 目录
前言
资源与支持
视频阅读说明
第1章 HTTP协议和Fiddler抓包
1.1 HTTP协议介绍
1.1.1 什么是HTTP协议
1.1.2 如何学习HTTP协议
1.1.3 HTTP协议的工作原理
1.2 Fiddler的介绍
1.2.1 Fiddler的下载和安装
1.2.2 Fiddler的基本界面
1.2.3 Inspectors选项卡
1.2.4 Web Sessions列表
1.2.5 Fiddler捕获HTTP协议的数据包
1.2.6 Fiddler设置开始捕获和停止捕获
1.3 HTTP协议报文的结构
1.3.1 HTTP请求报文的结构
1.3.2 HTTP响应报文的结构
1.3.3 Fiddler捕获博客主页,查看HTTP请求和HTTP响应报文
1.4 Fiddler抓包的原理
1.4.1 什么是代理服务器
1.4.2 Fiddler的工作原理
1.4.3 查看Internet选项代理设置
1.4.4 Fiddler如何捕获Firefox
1.4.5 Fiddler能捕获哪些设备的HTTP数据包
1.4.6 解压HTTP响应
第2章 HTTPS协议和Fiddler抓包
2.1 HTTP协议是不安全的
2.2 Web通信如何做到安全
2.3 什么是HTTPS
2.4 Fiddler如何捕获HTTPS会话
2.4.1 添加例外绕过HTTPS证件错误
2.4.2 Firefox中安装证书
2.4.3 Fiddler可以捕获HTTPS的握手验证请求
2.4.4 查看Windows本地安装的证书
第3章 HTTP协议请求方法和状态码
3.1 URL详解
3.1.1 URL格式
3.1.2 URL中的锚点
3.2 HTTP请求方法
3.2.1 GET方法
3.2.2 带参数的GET方法
3.2.3 POST方法
3.2.4 GET和POST方法的区别
3.3 HTTP状态码
3.3.1 什么是HTTP状态码
3.3.2 状态码分类
3.3.3 常见的状态码
3.3.4 200(OK)
3.3.5 204(No Content,没有内容)
3.3.6 206(Partial Content,部分内容)
3.3.7 301(Moved Permanently)
3.3.8 302(Found)
3.3.9 301和302的区别
3.3.10 304(Not Modified)
3.3.11 400(Bad Request)
3.3.12 401(Unauthorized)
3.3.13 403(Forbidden)
3.3.14 404(Not Found)
3.3.15 500(Internal Server Error)
3.3.16 503(Server Unavailable)
第4章 HTTP协议Header介绍
4.1 HTTP Header介绍
4.2 Fiddler查看HTTP请求Header
4.2.1 Cache相关的Header
4.2.2 Cookies
4.2.3 Accept
4.2.4 Accept-Encoding
4.2.5 Accept-Language
4.2.6 User-Agent
4.2.7 实例:Fiddler修改User-Agent,伪装客户端
4.2.8 Referer
4.2.9 Connection
4.2.10 Host
4.3 Fiddler查看HTTP响应Header
4.4 Fiddler查看和复制Header
第5章 Web网页抓包和Fiddler修改包
5.1 网页是如何打开的
5.1.1 一个网页的组成
5.1.2 打开一个网页,浏览器需要发送很多个请求
5.1.3 用Fiddler查看一个Web页面打开的过程
5.1.4 用Fiddler选择请求
5.2 Web页面简单的性能测试
5.3 使用Fiddler来查看响应
5.4 Fiddler下断点,修改HTTP报文
5.4.1 Fiddler中设置断点修改HTTP请求
5.4.2 实例:Fiddler修改HTTP请求
5.4.3 Fiddler中设置断点修改HTTP响应
5.4.4 Fiddler修改网页的标题
5.4.5 伪造Referer
第6章 HTTP协议中的缓存
6.1 缓存的概念
6.2 缓存的优点
6.3 Fiddler可以方便地查看缓存的Header
6.4 如何判断缓存新鲜度
6.5 通过最后修改时间来判断缓存新鲜度
6.6 与缓存有关的Header
6.7 ETag
6.8 浏览器不使用缓存
6.9 直接使用缓存,不去服务器验证
6.10 如何设置IE不使用缓存
6.11 公有缓存和私有缓存的区别
第7章 HTTP协议压缩和URL Encode
7.1 HTTP压缩的过程
7.1.1 实例:Fiddler观察HTTP压缩
7.1.2 内容编码类型
7.1.3 压缩的好处
7.1.4 gzip的不足之处
7.1.5 gzip是如何压缩的
7.1.6 HTTP请求也是可以编码的
7.1.7 HTTP内容编码和HTTP压缩的区别
7.2 URL Encode介绍
7.2.1 查询字符串中包含汉字
7.2.2 POST中的数据包含汉字
7.3 Fiddler中的TextWizard
第8章 Fiddler使用技巧
8.1 Fiddler和其他抓包软件的比较
8.2 Fiddler抓不到包应该怎么解决
8.3 如何找到想抓的包
8.4 Fiddler异常退出后无法上网
8.5 Fiddler排序
8.6 Fiddler中查询会话
8.7 Fiddler中保存抓到的包
8.8 Fiddler中编辑会话
8.9 过滤会话
8.10 常用快捷键
8.11 QuickExec命令行的使用
8.12 Fiddler比较会话的不同
8.13 Fiddler插件
8.13.1 JavaScript Formatter
8.13.2 Gallery插件
第9章 Fiddler前端快速调试
9.1 如何在服务器上调试JavaScript文件
9.2 Fiddler AutoResponder的工作原理
9.3 Fiddler在线调试JavaScript文件
9.4 浪漫的程序员
9.5 替换网页中的图片
第10章 Fiddler的Script用法
10.1 Fiddler Script介绍
10.2 Fiddler Script Editor
10.3 CustomRules.js中的主要方法
10.4 Fiddler定制菜单
10.5 修改Session在Fiddler的显示样式
10.6 修改HTTP请求
10.6.1 修改HTTP请求中的Cookie
10.6.2 替换HTTP请求的Host地址
10.6.3 修改HTTP请求中的Header
10.6.4 修改HTTP请求中的Body
10.7 修改HTTP响应
10.8 读写txt文件
10.9 使用正则表达式
10.10 保存Session
10.11 读取Session,并且使用Fiddler来发送
第11章 深入理解Cookie机制
11.1 HTTP协议是无状态的
11.2 会话机制
11.3 Cookie机制
11.4 Cookie是什么
11.5 Cookie的作用
11.6 抓包观察上海科技馆网站的登录
11.7 Cookie的属性
11.8 Cookie的分类
11.9 Cookie保存在哪里
11.10 使用和禁用Cookie
11.11 网站自动登录的原理
11.12 Cookie和文件缓存的区别
11.13 Cookie泄露隐私
第12章 Fiddler实现Cookie劫持攻击
12.1 截获Cookie冒充别人身份
12.2 Cookie劫持的原理
12.3 Cookie劫持实例介绍
12.3.1 找到登录的Cookie
12.3.2 浏览器中植入Cookie
12.4 网站退出的作用
第13章 HTTP基本认证
13.1 什么是HTTP基本认证
13.1.1 路由器管理页面使用基本认证
13.1.2 HTTP基本认证的优点
13.1.3 HTTP基本认证的缺点
13.1.4 使用TextWizard工具
13.1.5 客户端的使用
13.2 摘要认证
第14章 Fiddler手机抓包
14.1 环境准备
14.2 Fiddler截获手机原理图
14.3 截获手机发出的HTTP包有什么作用
14.4 手机抓包
14.4.1 配置Fiddler允许“远程连接”
14.4.2 获取Fiddler所在机器的IP地址
14.4.3 手机上设置代理服务器
14.4.4 测试Fiddler捕获手机发出的HTTP
14.4.5 捕获手机上的HTTPS
14.4.6 Apple设备需要使用插件制作新证书
14.4.7 iOS设备安装证书方法
14.4.8 Android设备安装证书方法一
14.4.9 Android设备安装证书方法二
14.4.10 测试Fiddler捕获手机的HTTPS
14.5 设置过滤
14.6 如何卸载证书
14.7 手机抓包提醒
第15章 Fiddler发送HTTP请求
15.1 Fiddler Composer发送HTTP请求
15.1.1 Composer发送Get请求
15.1.2 Composer的编辑模式
15.1.3 Composer发送Post请求
15.1.4 Composer编辑之前捕获的HTTP请求
15.2 Fiddler重新发送HTTP请求
15.2.1 Replay菜单
15.2.2 简单的性能测试
15.2.3 先编辑再发送
15.3 安全测试之重放攻击
15.3.1 重放攻击是怎么发生的
15.3.2 重放攻击的危害
15.3.3 重放攻击的解决方案
15.3.4 APP验证码重放
15.4 查找和登录相关的Cookie
第16章 Fiddler实现弱网测试
16.1 什么是弱网
16.2 弱网环境带来的问题
16.3 弱网测试的目的
16.4 弱网的场景
16.5 Fiddler模拟网络延迟
16.6 精确控制网速
16.7 Fiddler模拟网络中断
16.8 实例:Fiddler返回500状态码
16.9 Fiddler模拟网络超时
第17章 自动化测试和接口测试
17.1 自动化测试分类
17.2 分层的自动化测试理念
17.3 Web自动化测试的两种思路
17.4 什么是接口测试
17.5 接口测试工具
17.6 Web原理
17.7 Web自动化测试原理
17.8 性能测试的原理
17.9 APP的后台测试
17.10 如何学习Web自动化测试和性能测试
第18章 JMeter工具使用介绍
18.1 JMeter介绍
18.2 JMeter的下载和运行
18.3 创建测试任务
18.4 添加HTTP请求
18.5 实例:密码用MD5加密
第19章 JMeter天气接口自动化测试
19.1 天气查询的例子
19.2 天气查询网站抓包
19.3 抓包分析
19.4 获取城市地区代码
19.5 处理JMeter中HTTP响应乱码
19.6 添加验证点
19.7 使用用户自定义变量
19.8 正则表达式提取城市地区代码
19.9 获取天气
第20章 JMeter中BeanShell的用法
20.1 什么是BeanShell
20.2 操作变量
20.3 JMeter有哪些BeanShell
20.4 BeanShell调用自己写的jar包进行MD5加密
第21章 自动登录禅道和自动开Bug
21.1 HTTP Cookie管理器
21.2 HTTP请求默认值
21.3 禅道介绍和部署
21.4 禅道操作和抓包分析
21.4.1 第1步,自动登录禅道
21.4.2 第2步,创建一个新的Bug
21.4.3 第3步,找到刚刚新建Bug的ID
21.4.4 第4步,修改Bug状态为“已解决”
21.4.5 第5步,关闭Bug
21.4.6 总结
第22章 JMeter给网站做压力测试
22.1 案例介绍
22.2 压力测试的目的
22.3 抓包分析Mozy网站的登录过程
22.4 抓包分析
22.5 实现Mozy登录
22.6 简单的压力测试
HTTP抓包实战 精彩文摘
Fiddler是用C#开发的,主要在Windows系统上运行。苹果Mac系统和Linux上有Beta版本可以运行,作者还在开发。
Fiddler有2个版本,Fiddler2和Fiddler4,两者功能相同。建议你使用Fiddler4。
Fiddler4是基于.NET Framework 4.0的。Win7和Win10系统一般都已经安装好了.NET Framework 4.0,所以在Fiddler的下载页面会提供Fiddler4的下载。
Fiddler2是基于.NET Framework 2.0的,是为了照顾一些老的Windows系统用户而开发的,会逐渐被淘汰。
Fiddler一定要在官方网站下载,不建议在别的地方下载。目前官方网站只提供了英文版的Fiddler。
本文来自罗金艺还行吧投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。