http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版

编辑点评:HTTP抓包实战高清pdf完整版

这本书是入门而且很详细的一本适合初学者或者测试几年但是对于测试理论不太了解的人群。有彩图和具体实际例子,非常容易懂,也不会觉得枯燥无趣,感兴趣的欢迎下载学习

HTTP抓包实战高清pdf完整版

内容简介 

HTTP抓包利用Fiddler抓包工具来捕获HTTP数据包,然后对其进行重发、编辑等操作。HTTP抓包的用途非常广泛,主要用于Web开发调试、软件自动化测、接口自动化测试、性能测试和网络爬虫等方面。也用来检查网络安全。抓包也经常被用来进行数据截取等。

本书主要围绕抓包展开。全书共有22章,着重介绍了HTTP协议、如何使用Fiddler对HTTP包进行抓取,如何对HTTP进行分析,以及使用JMeter等工具来发送HTTP包以实现软件的自动化测试。本书图文并茂,实例丰富,还有配套的视频教程,方便读者参考并动手实践。

本书适合前端开发工程师、测试工程师、线上故障支持人员、接口开发人员和Web开发人员阅读,也适合对自动化测试感兴趣的人员阅读。

相关内容部分预览

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(1)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(2)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(3)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(4)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(5)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(6)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(7)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(8)

作者简介 

肖佳,VMware高级测试工程师,博客园知名博主(网名小坦克),撰写了很多软件开发和测试方面的技术文章;有10多年的软件开发测试经验,

有丰富的手动测试和自动化测试经验;个人博客阅读量已经超过500万,乐于分享,善于用浅显的语言来讲解技术。

目录  

第 1章 HTTP协议和Fiddler抓包 1

1.1 HTTP协议介绍 1

1.1.1 什么是HTTP协议 1

1.1.2 如何学习HTTP协议 1

1.1.3 HTTP协议的工作原理 2

1.2 Fiddler的介绍 2

1.2.1 Fiddler的下载和安装 3

1.2.2 Fiddler的基本界面 3

1.2.3 Inspectors选项卡 4

1.2.4 Web Sessions列表 5

1.2.5 Fiddler捕获HTTP协议的

数据包 5

1.2.6 Fiddler设置开始捕获和

停止捕获 6

1.3 HTTP协议报文的结构 7

1.3.1 HTTP请求报文的结构 7

1.3.2 HTTP响应报文的结构 8

1.3.3 Fiddler捕获博客主页,

查看HTTP请求和HTTP

响应报文 9

1.4 Fiddler抓包的原理 10

1.4.1 什么是代理服务器 10

1.4.2 Fiddler的工作原理 11

1.4.3 查看Internet选项代理

设置 11

1.4.4 Fiddler如何捕获Firefox 12

1.4.5 Fiddler能捕获哪些设备的

HTTP数据包 13

1.4.6 解压HTTP响应 14

第 2章 HTTPS协议和Fiddler抓包 15

2.1 HTTP协议是不安全的 15

2.2 Web通信如何做到安全 15

2.3 什么是HTTPS 17

2.4 Fiddler如何捕获HTTPS会话 17

2.4.1 添加例外绕过HTTPS证件

错误 18

2.4.2 Firefox中安装证书 20

2.4.3 Fiddler可以捕获HTTPS的

握手验证请求 21

2.4.4 查看Windows本地安装的

证书 22

第3章 HTTP协议请求方法和状态码 23

3.1 URL详解 23

3.1.1 URL格式 23

3.1.2 URL中的锚点 24

3.2 HTTP请求方法 24

3.2.1 GET方法 25

3.2.2 带参数的GET方法 26

3.2.3 POST方法 26

3.2.4 GET和POST方法的

区别 28

3.3 HTTP状态码 28

3.3.1 什么是HTTP状态码 28

3.3.2 状态码分类 28

3.3.3 常见的状态码 29

3.3.4 200(OK) 29

3.3.5 204(No Content,没有

内容) 30

3.3.6 206(Partial Content,部分

内容) 31

3.3.7 301(Moved

Permanently) 32

3.3.8 302(Found) 33

3.3.9 301和302的区别 33

3.3.10 304(Not Modified) 34

3.3.11 400(Bad Request) 34

3.3.12 401(Unauthorized) 35

3.3.13 403(Forbidden) 36

3.3.14 404(Not Found) 36

3.3.15 500(Internal Server

Error) 36

3.3.16 503(Server

Unavailable) 38

第4章 HTTP协议Header介绍 39

4.1 HTTP Header介绍 39

4.2 Fiddler查看HTTP请求Header 39

4.2.1 Cache相关的Header 40

4.2.2 Cookies 41

4.2.3 Accept 41

4.2.4 Accept-Encoding 41

4.2.5 Accept-Language 41

4.2.6 User-Agent 42

4.2.7 实例:Fiddler修改User-

Agent,伪装客户端 42

4.2.8 Referer 43

4.2.9 Connection 44

4.2.10 Host 44

4.3 Fiddler查看HTTP响应Header 44

4.4 Fiddler查看和复制Header 45

第5章 Web网页抓包和Fiddler

修改包 46

5.1 网页是如何打开的 46

5.1.1 一个网页的组成 46

5.1.2 打开一个网页,浏览器需要

发送很多个请求 47

5.1.3 用Fiddler查看一个Web页面

打开的过程 47

5.1.4 用Fiddler选择请求 48

5.2 Web页面简单的性能测试 49

5.3 使用Fiddler来查看响应 50

5.4 Fiddler下断点,修改HTTP报文 51

5.4.1 Fiddler中设置断点修改

HTTP请求 51

5.4.2 实例:Fiddler修改HTTP

请求 52

5.4.3 Fiddler中设置断点修改

HTTP响应 53

5.4.4 Fiddler修改网页的标题 54

5.4.5 伪造Referer 55

第6章 HTTP协议中的缓存 56

6.1 缓存的概念 56

6.2 缓存的优点 56

6.3 Fiddler可以方便地查看缓存的

Header 57

6.4 如何判断缓存新鲜度 57

6.5 通过最后修改时间来判断缓存

新鲜度 58

6.6 与缓存有关的Header 59

6.7 ETag 60

6.8 浏览器不使用缓存 61

6.9 直接使用缓存,不去服务器

验证 62

6.10 如何设置IE不使用缓存 63

6.11 公有缓存和私有缓存的区别 64

第7章 HTTP协议压缩和URL Encode 65

7.1 HTTP压缩的过程 65

7.1.1 实例:Fiddler观察HTTP

压缩 66

7.1.2 内容编码类型 67

7.1.3 压缩的好处 68

7.1.4 Gzip的不足之处 68

7.1.5 Gzip是如何压缩的 68

7.1.6 HTTP请求也是可以

编码的 68

7.1.7 HTTP内容编码和HTTP

压缩的区别 69

7.2 URL Encode介绍 69

7.2.1 查询字符串中包含汉字 69

7.2.2 POST中的数据包含汉字 70

7.3 Fiddler中的TextWizard 71

第8章 Fiddler使用技巧 72

8.1 Fiddler和其他抓包软件的比较 72

8.2 Fiddler抓不到包应该怎么解决 73

8.3 如何找到想抓的包 73

8.4 Fiddler异常退出后无法上网 73

8.5 Fiddler排序 74

8.6 Fiddler中查询会话 74

8.7 Fiddler中保存抓到的包 75

8.8 Fiddler中编辑会话 75

8.9 过滤会话 75

8.10 常用快捷键 76

8.11 QuickExec命令行的使用 77

8.12 Fiddler比较会话的不同 78

8.13 Fiddler插件 79

8.13.1 JavaScript Formatter 79

8.13.2 Gallery插件 79

第9章 Fiddler前端快速调试 81

9.1 如何在服务器上调试JavaScript

文件 81

9.2 Fiddler AutoResponder的工作

原理 82

9.3 Fiddler在线调试JavaScript文件 82

9.4 浪漫的程序员 85

9.5 替换网页中的图片 86

第 10章 Fiddler的Script用法 89

10.1 Fiddler Script介绍 89

10.2 Fiddler Script Editor 90

10.3 CustomRules.js中的主要方法 91

10.4 Fiddler定制菜单 92

10.5 修改Session在Fiddler的显示

样式 92

10.6 修改HTTP请求 93

10.6.1 修改HTTP请求中的

Cookie 93

10.6.2 替换HTTP请求的Host

地址 94

10.6.3 修改HTTP请求中的

Header 94

10.6.4 修改HTTP请求中的

Body 95

10.7 修改HTTP响应 95

10.8 读写txt文件 96

10.9 使用正则表达式 96

10.10 保存Session 97

10.11 读取Session,并且使用Fiddler

来发送 97

第 11章 深入理解Cookie机制 98

11.1 HTTP协议是无状态的 98

11.2 会话机制 98

11.3 Cookie机制 100

11.4 Cookie是什么 100

11.5 Cookie的作用 101

11.6 抓包观察上海科技馆网站的

登录 102

11.7 Cookie的属性 103

11.8 Cookie的分类 104

11.9 Cookie保存在哪里 104

11.10 使用和禁用Cookie 105

11.11 网站自动登录的原理 106

11.12 Cookie和文件缓存的区别 106

11.13 Cookie泄露隐私 107

第 12章 Fiddler实现Cookie劫持

攻击 108

12.1 截获Cookie冒充别人身份 108

12.2 Cookie劫持的原理 108

12.3 Cookie劫持实例介绍 109

12.3.1 找到登录的Cookie 109

12.3.2 浏览器中植入Cookie 111

12.4 网站退出的作用 112

第 13章 HTTP基本认证 113

13.1 什么是HTTP基本认证 113

13.1.1 路由器管理页面使用基本

认证 114

13.1.2 HTTP基本认证的优点 117

13.1.3 HTTP基本认证的缺点 117

13.1.4 使用TextWizard工具 117

13.1.5 客户端的使用 117

13.2 摘要认证 118

第 14章 Fiddler手机抓包 119

14.1 环境准备 119

14.2 Fiddler截获手机原理图 119

14.3 截获手机发出的HTTP包有什么

作用 120

14.4 手机抓包 120

14.4.1 配置Fiddler允许“远程

连接” 120

14.4.2 获取Fiddler所在机器的

IP地址 121

14.4.3 手机上设置代理

服务器 121

14.4.4 测试Fiddler捕获手机

发出的HTTP 123

14.4.5 捕获手机上的HTTPS 123

14.4.6 Apple设备需要使用插

件制作新证书 123

14.4.7 iOS设备安装证书方法 124

14.4.8 Android设备安装证书

方法一 125

14.4.9 Android设备安装证书

方法二 126

14.4.10 测试Fiddler捕获手机的

HTTPS 127

14.5 设置过滤 127

14.6 如何卸载证书 128

14.7 手机抓包提醒 128

第 15章 Fiddler发送HTTP请求 129

15.1 Fiddler Composer发送HTTP

请求 129

15.1.1 Composer发送Get

请求 129

15.1.2 Composer的编辑模式 130

15.1.3 Composer发送Post

请求 130

15.1.4 Composer编辑之前捕获的

HTTP请求 131

15.2 Fiddler重新发送HTTP请求 131

15.2.1 Replay菜单 131

15.2.2 简单的性能测试 132

15.2.3 先编辑再发送 133

15.3 安全测试之重放攻击 133

15.3.1 重放攻击是怎么发生的 133

15.3.2 重放攻击的危害 133

15.3.3 重放攻击的解决方案 133

15.3.4 APP验证码重放 134

15.4 查找和登录相关的Cookie 136

第 16章 Fiddler实现弱网测试 139

16.1 什么是弱网 139

16.2 弱网环境带来的问题 140

16.3 弱网测试的目的 140

16.4 弱网的场景 140

16.5 Fiddler模拟网络延迟 140

16.6 精确控制网速 141

16.7 Fiddler模拟网络中断 142

16.8 实例:Fiddler返回500状态码 142

16.9 Fiddler模拟网络超时 143

第 17章 自动化测试和接口测试 144

17.1 自动化测试分类 144

17.2 分层的自动化测试理念 144

17.3 Web自动化测试的两种思路 146

17.4 什么是接口测试 146

17.5 接口测试工具 147

17.6 Web原理 147

17.7 Web自动化测试原理 148

17.8 性能测试的原理 148

17.9 APP的后台测试 149

17.10 如何学习Web自动化测试和

性能测试 149

第 18章 JMeter工具使用介绍 151

18.1 JMeter介绍 151

18.2 JMeter的下载和运行 151

18.3 创建测试任务 152

18.4 添加HTTP请求 153

18.5 实例:密码用MD5加密 154

第 19章 JMeter天气接口自动化测试 160

19.1 天气查询的例子 160

19.2 天气查询网站抓包 160

19.3 抓包分析 161

19.4 获取城市地区代码 162

19.5 处理JMeter中HTTP响应

乱码 163

19.6 添加验证点 164

19.7 使用用户自定义变量 165

19.8 正则表达式提取城市地区代码 166

19.9 获取天气 167

第 20章 JMeter中BeanShell的用法 169

20.1 什么是BeanShell 169

20.2 操作变量 169

20.3 JMeter有哪些BeanShell 170

20.4 BeanShell调用自己写的jar包

进行MD5加密 171

第 21章 自动登录禅道和自动开Bug 174

21.1 HTTP Cookie管理器 174

21.2 HTTP请求默认值 175

21.3 禅道介绍和部署 175

21.4 禅道操作和抓包分析 176

21.4.1 第 一步,自动登录禅道 176

21.4.2 第二步,创建一个新的

Bug 181

21.4.3 第三步,找到刚刚新建

Bug的ID 184

21.4.4 第四步,修改Bug状态为

“已解决” 185

21.4.5 第五步,关闭Bug 187

21.4.6 总结 187

第 22章 JMeter给网站做压力测试 188

22.1 案例介绍 188

22.2 压力测试的目的 188

22.3 抓包分析Mozy网站的登录

过程 189

22.4 抓包分析 190

22.5 实现Mozy登录 191

22.6 简单的压力测试 193

读者评价

超级赞的一本书。以前只是单纯的会使用抓包,很多操作也不知道用处,更加不太明白实际的意义, 并且一般的书籍都是讲一些理论,对于我这种很难去理解,也看不下去,但是这本书很不错,

一步一步的讲的非常详细,并且配有小视频和图解,看着不枯燥。Fiddler工具是一个很不错的工具,看完这书觉得自己对Fiddler更加深层的了解,极力推荐给大家,真心很有帮助。 

最后在想说一句:tank老师为人也超级亲和,很有耐心,有问题都会给予详细的解答,真心的非常感谢!

如何利用HTTPS进行抓包

在 Mac 上常用的抓包软件是 Charles,网上关于 Charles 的教程很多,这里介绍另一个抓包神器 mitmproxy。mitmproxy 是一款可交互式的命令行抓包工具,它除了可以抓包查看 http/https 请求,

还有一个很强大的功能是拦截并修改 request 或者 response,后面我会用实际例子演示如何修改知乎的回答:)

安装

mitmproxy 官网 介绍了用以下命令来安装

pip install mitmproxy

我在实际安装过程中遇到了一些坑,首先是 OSX El Capitan 及以上的系统版本在安装时会出现 six 模块依赖错误,具体可以看这儿的讨论。还有一个问题是安装过程中会出现权限错误,需要以 root 权限执行。最后用以下命令成功安装,安装不了需要翻一下墙

sudo pip install mitmproxy –ignore-installed six

开始使用

首先需要配置一下网络环境,将手机和电脑连在同一个 wifi 环境下,然后进入手机的 设置 – 无线局域网,点击当前连接的 wifi 进入详情设置页面,在 http 代理那一栏输入当前连接的 ip 地址,端口填8080,这个 ip 地址可以在电脑上的 系统偏好 – 网络 里查看,配置完成如下图,

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(9)

网络环境配置完成后我们可以开始实际的抓包了,只需在电脑上打开终端(命令行操作窗口),然后输入 mitmproxy -p 8080,如果你看到如下页面说明你已成功进入抓包模式,迈出了第一步,cheer~

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(10)

接下去你可以用手机打开一些 App,不出意外你能看到一些 http 请求的列表。这时候我们还无法抓到 https 的包,还需要做一些额外配置。

下面的操作是针对 iPhone 手机,其他设备也类似。用 iPhone 打开 Safari 浏览器并输入 mitm.it,这时你会看到如下页面,

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(11)

选择对应平台并安装证书,安装完成后就可以抓 https 的包了,官网上解释了这个工具是如何工作的

注意:用浏览器打开时需要已经在抓包模式,否则是无法看到上述页面的

好了,到这里我们已经完成了所有的准备工作,接下去就和我一起实际体验一下 https 的抓包过程吧。

这里以知乎为例,用手机打开知乎,我们应该能看到知乎的请求出现在列表里了,类似下图:

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(12)

键盘上下移动,Enter 键进入查看详情,按 Tab 键切换顶部导航栏,如下图所示,

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(13)

Tips:输入z可以清空列表,输入f再输入~u xxx可以过滤出 url 为 xxx 的请求,更多匹配规则输入? 查看

请求拦截

上面演示的是常规的操作,下面介绍一下 mitmproxy 的另一强大功能,拦截修改 request 和 response。

输入 i,然后输入 ~s 再按回车键,这时候就进入了 response 拦截模式。如果输入 ~q 则进入 request 的拦截模式,更多的命令可以输入 ? 查看。拦截模式下的页面显示如下图所示,

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(14)

其中橘红色的表示请求正被拦截,这时 Enter 进入后 再按 e 就可以修改 request 或者 response。修改时是用 vim 进行编辑的,修改完成后按 a 将请求放行,如果要放行所有请求输入 A 即可。

下图是我修改了某个答案的 response 请求将回答者的名字做了修改,因为只修改了 response 并不会影响其他的用户显示:)

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(15)

上面提到的那些指令在输入 ?后都能查看到,如下图,另外官网上也有很详细的说明

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(16)

我用上述方式尝试了大多数的 App,包括淘宝、微博,都能抓到 https 的包,有些有加密,有些没有加密。但是简书做了防中间人攻击的设置,一启用抓包模式就显示网络错误1012,还是做的很不错的,赞一个~

按照上面的过程操作就可以 https 抓包了,如果有遇到问题可以联系我,记得抓完后将手机 wifi 设置里的 http 代理关闭。开始实际体验一下吧

HTTP抓包实战高清pdf完整版截图

http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(17)http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(18)http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(19)http抓包实战肖佳著电子书书-HTTP抓包实战高清pdf完整版免费版插图(20)

评分及评论

无用户评分

来评个分数吧

  • 5 分
    0
  • 4 分
    0
  • 3 分
    0
  • 2 分
    0
  • 1 分
    0

Comments