HTTP抓包实战 作者:肖佳 著 出版时间:2018年版内容简介 HTTP抓包利用Fiddler抓包工具来捕获HTTP数据包,然后对其进行重发、编辑等操作。HTTP抓包的用途非常广泛,主要用于Web开发调试、软件自动化测、接口自动化测试、性能测试和网络爬虫等方面。也用来检查网络安全。抓包也经常被用来进行数据截取等。本书主要围绕抓包展开。全书共有22章,着重介绍了HTTP协议、如何使用Fiddler对HTTP包进行抓取,如何对HTTP进行分析,以及使用JMeter等工具来发送HTTP包以实现软件的自动化测试。本书图文并茂,实例丰富,还有配套的视频教程,方便读者参考并动手实践。本书适合前端开发工程师、测试工程师、线上故障支持人员、接口开发人员和Web开发人员阅读,也适合对自动化测试感兴趣的人员阅读。目录第 1章 HTTP协议和Fiddler抓包 11.1 HTTP协议介绍 11.1.1 什么是HTTP协议 11.1.2 如何学习HTTP协议 11.1.3 HTTP协议的工作原理 21.2 Fiddler的介绍 21.2.1 Fiddler的下载和安装 31.2.2 Fiddler的基本界面 31.2.3 Inspectors选项卡 41.2.4 Web Sessions列表 51.2.5 Fiddler捕获HTTP协议的数据包 51.2.6 Fiddler设置开始捕获和停止捕获 61.3 HTTP协议报文的结构 71.3.1 HTTP请求报文的结构 71.3.2 HTTP响应报文的结构 81.3.3 Fiddler捕获博客主页,查看HTTP请求和HTTP响应报文 91.4 Fiddler抓包的原理 101.4.1 什么是代理服务器 101.4.2 Fiddler的工作原理 111.4.3 查看Internet选项代理设置 111.4.4 Fiddler如何捕获Firefox 121.4.5 Fiddler能捕获哪些设备的HTTP数据包 131.4.6 解压HTTP响应 14第 2章 HTTPS协议和Fiddler抓包 152.1 HTTP协议是不安全的 152.2 Web通信如何做到安全 152.3 什么是HTTPS 172.4 Fiddler如何捕获HTTPS会话 172.4.1 添加例外绕过HTTPS证件错误 182.4.2 Firefox中安装证书 202.4.3 Fiddler可以捕获HTTPS的握手验证请求 212.4.4 查看Windows本地安装的证书 22第3章 HTTP协议请求方法和状态码 233.1 URL详解 233.1.1 URL格式 233.1.2 URL中的锚点 243.2 HTTP请求方法 243.2.1 GET方法 253.2.2 带参数的GET方法 263.2.3 POST方法 263.2.4 GET和POST方法的区别 283.3 HTTP状态码 283.3.1 什么是HTTP状态码 283.3.2 状态码分类 283.3.3 常见的状态码 293.3.4 200(OK) 293.3.5 204(No Content,没有内容) 303.3.6 206(Partial Content,部分内容) 313.3.7 301(MovedPermanently) 323.3.8 302(Found) 333.3.9 301和302的区别 333.3.10 304(Not Modified) 343.3.11 400(Bad Request) 343.3.12 401(Unauthorized) 353.3.13 403(Forbidden) 363.3.14 404(Not Found) 363.3.15 500(Internal ServerError) 363.3.16 503(ServerUnavailable) 38第4章 HTTP协议Header介绍 394.1 HTTP Header介绍 394.2 Fiddler查看HTTP请求Header 394.2.1 Cache相关的Header 404.2.2 Cookies 414.2.3 Accept 414.2.4 Accept-Encoding 414.2.5 Accept-Language 414.2.6 User-Agent 424.2.7 实例:Fiddler修改User-Agent,伪装客户端 424.2.8 Referer 434.2.9 Connection 444.2.10 Host 444.3 Fiddler查看HTTP响应Header 444.4 Fiddler查看和复制Header 45第5章 Web网页抓包和Fiddler修改包 465.1 网页是如何打开的 465.1.1 一个网页的组成 465.1.2 打开一个网页,浏览器需要发送很多个请求 475.1.3 用Fiddler查看一个Web页面打开的过程 475.1.4 用Fiddler选择请求 485.2 Web页面简单的性能测试 495.3 使用Fiddler来查看响应 505.4 Fiddler下断点,修改HTTP报文 515.4.1 Fiddler中设置断点修改HTTP请求 515.4.2 实例:Fiddler修改HTTP请求 525.4.3 Fiddler中设置断点修改HTTP响应 535.4.4 Fiddler修改网页的标题 545.4.5 伪造Referer 55第6章 HTTP协议中的缓存 566.1 缓存的概念 566.2 缓存的优点 566.3 Fiddler可以方便地查看缓存的Header 576.4 如何判断缓存新鲜度 576.5 通过最后修改时间来判断缓存新鲜度 586.6 与缓存有关的Header 596.7 ETag 606.8 浏览器不使用缓存 616.9 直接使用缓存,不去服务器验证 626.10 如何设置IE不使用缓存 636.11 公有缓存和私有缓存的区别 64第7章 HTTP协议压缩和URL Encode 657.1 HTTP压缩的过程 657.1.1 实例:Fiddler观察HTTP压缩 667.1.2 内容编码类型 677.1.3 压缩的好处 687.1.4 Gzip的不足之处 687.1.5 Gzip是如何压缩的 687.1.6 HTTP请求也是可以编码的 687.1.7 HTTP内容编码和HTTP压缩的区别 697.2 URL Encode介绍 697.2.1 查询字符串中包含汉字 697.2.2 POST中的数据包含汉字 707.3 Fiddler中的TextWizard 71第8章 Fiddler使用技巧 728.1 Fiddler和其他抓包软件的比较 728.2 Fiddler抓不到包应该怎么解决 738.3 如何找到想抓的包 738.4 Fiddler异常退出后无法上网 738.5 Fiddler排序 748.6 Fiddler中查询会话 748.7 Fiddler中保存抓到的包 758.8 Fiddler中编辑会话 758.9 过滤会话 758.10 常用快捷键 768.11 QuickExec命令行的使用 778.12 Fiddler比较会话的不同 788.13 Fiddler插件 798.13.1 JavaScript Formatter 798.13.2 Gallery插件 79第9章 Fiddler前端快速调试 819.1 如何在服务器上调试JavaScript文件 819.2 Fiddler AutoResponder的工作原理 829.3 Fiddler在线调试JavaScript文件 829.4 浪漫的程序员 859.5 替换网页中的图片 86第 10章 Fiddler的Script用法 8910.1 Fiddler Script介绍 8910.2 Fiddler Script Editor 9010.3 CustomRules.js中的主要方法 9110.4 Fiddler定制菜单 9210.5 修改Session在Fiddler的显示样式 9210.6 修改HTTP请求 9310.6.1 修改HTTP请求中的Cookie 9310.6.2 替换HTTP请求的Host地址 9410.6.3 修改HTTP请求中的Header 9410.6.4 修改HTTP请求中的Body 9510.7 修改HTTP响应 9510.8 读写txt文件 9610.9 使用正则表达式 9610.10 保存Session 9710.11 读取Session,并且使用Fiddler来发送 97第 11章 深入理解Cookie机制 9811.1 HTTP协议是无状态的 9811.2 会话机制 9811.3 Cookie机制 10011.4 Cookie是什么 10011.5 Cookie的作用 10111.6 抓包观察上海科技馆网站的登录 10211.7 Cookie的属性 10311.8 Cookie的分类 10411.9 Cookie保存在哪里 10411.10 使用和禁用Cookie 10511.11 网站自动登录的原理 10611.12 Cookie和文件缓存的区别 10611.13 Cookie泄露隐私 107第 12章 Fiddler实现Cookie劫持攻击 10812.1 截获Cookie冒充别人身份 10812.2 Cookie劫持的原理 10812.3 Cookie劫持实例介绍 10912.3.1 找到登录的Cookie 10912.3.2 浏览器中植入Cookie 11112.4 网站退出的作用 112第 13章 HTTP基本认证 11313.1 什么是HTTP基本认证 11313.1.1 路由器管理页面使用基本认证 11413.1.2 HTTP基本认证的优点 11713.1.3 HTTP基本认证的缺点 11713.1.4 使用TextWizard工具 11713.1.5 客户端的使用 11713.2 摘要认证 118第 14章 Fiddler手机抓包 11914.1 环境准备 11914.2 Fiddler截获手机原理图 11914.3 截获手机发出的HTTP包有什么作用 12014.4 手机抓包 12014.4.1 配置Fiddler允许“远程连接” 12014.4.2 获取Fiddler所在机器的IP地址 12114.4.3 手机上设置代理服务器 12114.4.4 测试Fiddler捕获手机发出的HTTP 12314.4.5 捕获手机上的HTTPS 12314.4.6 Apple设备需要使用插件制作新证书 12314.4.7 iOS设备安装证书方法 12414.4.8 Android设备安装证书方法一 12514.4.9 Android设备安装证书方法二 12614.4.10 测试Fiddler捕获手机的HTTPS 12714.5 设置过滤 12714.6 如何卸载证书 12814.7 手机抓包提醒 128第 15章 Fiddler发送HTTP请求 12915.1 Fiddler Composer发送HTTP请求 12915.1.1 Composer发送Get请求 12915.1.2 Composer的编辑模式 13015.1.3 Composer发送Post请求 13015.1.4 Composer编辑之前捕获的HTTP请求 13115.2 Fiddler重新发送HTTP请求 13115.2.1 Replay菜单 13115.2.2 简单的性能测试 13215.2.3 先编辑再发送 13315.3 安全测试之重放攻击 13315.3.1 重放攻击是怎么发生的 13315.3.2 重放攻击的危害 13315.3.3 重放攻击的解决方案 13315.3.4 APP验证码重放 13415.4 查找和登录相关的Cookie 136第 16章 Fiddler实现弱网测试 13916.1 什么是弱网 13916.2 弱网环境带来的问题 14016.3 弱网测试的目的 14016.4 弱网的场景 14016.5 Fiddler模拟网络延迟 14016.6 精确控制网速 14116.7 Fiddler模拟网络中断 14216.8 实例:Fiddler返回500状态码 14216.9 Fiddler模拟网络超时 143第 17章 自动化测试和接口测试 14417.1 自动化测试分类 14417.2 分层的自动化测试理念 14417.3 Web自动化测试的两种思路 14617.4 什么是接口测试 14617.5 接口测试工具 14717.6 Web原理 14717.7 Web自动化测试原理 14817.8 性能测试的原理 14817.9 APP的后台测试 14917.10 如何学习Web自动化测试和性能测试 149第 18章 JMeter工具使用介绍 15118.1 JMeter介绍 15118.2 JMeter的下载和运行 15118.3 创建测试任务 15218.4 添加HTTP请求 15318.5 实例:密码用MD5加密 154第 19章 JMeter天气接口自动化测试 16019.1 天气查询的例子 16019.2 天气查询网站抓包 16019.3 抓包分析 16119.4 获取城市地区代码 16219.5 处理JMeter中HTTP响应乱码 16319.6 添加验证点 16419.7 使用用户自定义变量 16519.8 正则表达式提取城市地区代码 16619.9 获取天气 167第 20章 JMeter中BeanShell的用法 16920.1 什么是BeanShell 16920.2 操作变量 16920.3 JMeter有哪些BeanShell 17020.4 BeanShell调用自己写的jar包进行MD5加密 171第 21章 自动登录禅道和自动开Bug 17421.1 HTTP Cookie管理器 17421.2 HTTP请求默认值 17521.3 禅道介绍和部署 17521.4 禅道操作和抓包分析 17621.4.1 第 一步,自动登录禅道 17621.4.2 第二步,创建一个新的Bug 18121.4.3 第三步,找到刚刚新建Bug的ID 18421.4.4 第四步,修改Bug状态为“已解决” 18521.4.5 第五步,关闭Bug 18721.4.6 总结 187第 22章 JMeter给网站做压力测试 18822.1 案例介绍 18822.2 压力测试的目的 18822.3 抓包分析Mozy网站的登录过程 18922.4 抓包分析 19022.5 实现Mozy登录 19122.6 简单的压力测试 193 上一篇: 21世纪高等院校移动开发人才培养规划教材 移动UI界面设计 微课版 张晓景,李晓斌 主编 2018年 下一篇: Polar码研究与工程实践 童文,朱佩英 主编 2019年版