Fidder详解之抓包
前言
本文是博主发表的第一篇文章,如有傻逼之处,请大家见谅。最近遇到很多人说接口相关的问题,比如:什么是接口,我该怎么做接口测试,还有我总是抓不到APP上的https请求(这个巨坑,不知道坑了多少小白,包括博主自己也被坑的不敢自拔!!!!),言归正传,后续,博主会慢慢整理有关接口相关系列的文章,以及自己的见解,希望大家多多支持和指正!
为什么要学Fidder抓包?
学习接口,必须要学http协议,不要求您对协议的掌握有多深。只是希望你能够了解什么是协议、协议的报文、状态码等等!本文通过抓包工具Fidder带你进入接口的大门。我们通过抓取的请求来学习http协议。
一.抓取web端https协议
fiddler是一个很好的抓包工具,至于安装,傻瓜式安装就好,这里不再累述。Fidder默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。
1.1 网页不安全
用Fidder对Firefox抓包的时候,打开百度首页:https://www.baidu.com,会提示网页不安全

1.2 Fidder设置
打开菜单栏:Tools>Fiddler Options>HTTPS,勾选Decrypt HTTPS traffic,里面的两个子菜单也一起勾选了

1.3 导出证书
点右上角Actions按钮,选第二个选项,导出到桌面,此时桌面上会多一个文件:FiddlerRoot.cer

1.4 导入到Firefox里面
打开右上角浏览器设置》选项》高级》证书》查看证书》证书机构》导入

将刚刚从Fidder中导出到桌面的证书导入到Firefox里面

打开文件后,会弹出个框,勾选三个选项就完成操作啦。

如果不能成功,只有重启浏览器,重新按照上面的步骤进行设置啦!
1.5 证书导出失败的解决办法
在点Actions时候出现Export Failed:The root certificate could not be located.最近有很多小伙伴在fiddler导出证书的时候,遇到无法导出的问题,收集了几种解决办法,供参考。
一.在点Actions时候出现Export Failed:The root certificate could not be located.

二.解决方案
1.首先确保安装的 Fiddler 是较新的版本,先关闭fiddler
2.下载并安装Fiddler证书生成器,下载地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
3.点Tools>Fiddler Options
4.勾选Capture HTTPS traffic
5.点Actions按钮,Export Root Certificate Desktop按钮导出到桌面
三、删除证书
1.有些小伙伴可能之前装过一些fiddler证书,安装的姿势不对,导致新的证书不起作用,这时候需要先删掉之前的证书了
方法一:从fiddler里打开证书管理界面
方法二、从文件管理器输入:certmgr.msc并回车
2.搜索之前安装的fiddler证书,找到之后全部删除
3.重新下载证书生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2,一路傻瓜式安装,遇到警告什么的直接忽略就行。
4.安装好证书后,按照1.1章节Fiddler抓包1-抓firefox上https请求的浏览器导入证书就行了(弄好之后,重启电脑就OK了)
二.抓取app请求
2.1 准备相关软件环境
电脑上已安装Fidder,手机和电脑在同一局域网(傻瓜式理解:手机和电脑连接同一个WiFi或者电脑放出热点,手机连接都可以)
2.2 Fidder设置
fiddler>Tools>Fiddler Options>Connections 勾选Allow remote computers to connect,记住你设置的端口号,博主这里设置的为8888

2.3 查看电脑IP
桌面—>Windows键+R—>cmd—>ipconfig(例如:ip为:192.168.1.14)

2.4 设置手机WiFi代理
手机——>设置——>WiFi设置——>点击WiFi名后面的箭头(每个手机都不相同)——>代理——>手动——>输入ip地址和端口号——>确定

2.5 打开手机浏览数输入你的ip加端口号,访问网页,下载证书(这一步不知道坑了多少人,博主深受其害),此时博主就应该访问:192.168.1.14:8888

2.6 点击“FidderRoot certificate”,安装证书*(切记,一定要下载安装)

2.6 设置过滤
手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。设置过程:打开fiddler>Tools>Fiddler Options>HTTPS>...from remote clients only,勾选这个选项就可以了。(...from all processes :抓所有的请求;...from browsers only :只抓浏览器的请求;...from non-browsers only :只抓非浏览器的请求;...from remote clients only:只抓远程客户端请求)

设置完成之后,Fidder就可以抓取手机app上的https请求了(有时候可能抓不到请求,此时一般需要你重启fidder)
注意:测试完了之后,记得手机上的代理由手动改成“无”,要不然会导致无法上网!
*我们下一篇博客《Fidder详解之get和post请求》会向大家讲述Fidder眼中的get和post请求,以及Fidder工具简要说明
Fidder详解之抓包的更多相关文章
- Web协议详解与抓包实战,高效解决网络难题
无论你是前后端工程师,还是运维测试,如果想面试更高的职位,或者要站在更高的角度去理解技术业务架构,并能在问题出现时快速.高效地解决问题,Web 协议一定是你绕不过去的一道坎. 旨在帮助你对各种常用 W ...
- TCP、UDP详解与抓包工具使用
参考:https://www.cnblogs.com/HPAHPA/p/7737641.html TCP.UDP详解 1.传输层存在的必要性 由于网络层的分组传输是不可靠的,无法了解数据到达终点的时间 ...
- Web协议详解与抓包实战:HTTP1协议-如何用Chrome的Network面板分析HTTP报文(1)
一.Chrome 抓包:Network 面板 1. Network 面板 • 控制器:控制面板的外观与功能 • 过滤器:过滤请求列表中显示的资源 • 按住 Command (Mac)或 Ctrl (W ...
- Web协议详解与抓包实战:HTTP1协议-内容协商是怎样进行的(8)
一.内容协商的两种方式 每个 URI 指向的资源可以是任何事物,可以有多种不同的表述,例如一份文档可以有不同语言的翻译.不同的媒体格式.可以针对不同的浏览器提供不同的压缩编码等 二.Proactive ...
- Web协议详解与抓包实战:HTTP1协议-请求与响应的上下文(7)
一.请求的上下文: User-Agent 指明客户端的类型信息,服务器可以据此对资源的表述做抉择 二.请求的上下文: Referer 浏览器对来自某一页面的请求自动添加的头部 截图2 这对于我们的防盗 ...
- Web协议详解与抓包实战:HTTP1协议-如何传递 IP 地址?(6)
一.HTTP消息在服务器端的路由 Host 头部 规范与实现间是有差距的 二.代理服务器转发消息时的相关头部 1.Host 头部与消息的路由 2.客户端与源服务器间存在多个代理 三.如何传递 IP 地 ...
- Web协议详解与抓包实战:HTTP1协议-如何管理跨代理服务器的长短连接?(4)
一.HTTP 连接的常见流程 二.从 TCP 编程上看 HTTP 请求处理 三.短连接与长连接 四.Connection 仅针对当前连接有效 五.代理服务器对长连接的支持 未设置代理服务器 设置代理 ...
- Web协议详解与抓包实战:HTTP1协议-HTTP 响应行(3)
一.HTTP 响应行 二.响应码分类:1xx 三.响应码分类: 2xx 1. 201 Created: 有新资源在服务器端被成功创建 2.207 Multi-Status:RFC4918 ,在 WEB ...
- Web协议详解与抓包实战:HTTP1协议-详解请求行(2)
一.请求行一 二.请求行二 三.请求行三 四.常见方法(RFC7231) 实际测试截图 五.用于文档管理的 WEBDAV 方法(RFC2518) 六.WEBDAV 验证环境 1.登录 2.Wire ...
随机推荐
- Yarn源码分析之MRAppMaster上MapReduce作业处理总流程(一)
我们知道,如果想要在Yarn上运行MapReduce作业,仅需实现一个ApplicationMaster组件即可,而MRAppMaster正是MapReduce在Yarn上ApplicationMas ...
- Xshell配色方案(Solarized Dark)
将以下内容复制并保存到文件中,文件名以xc为后缀,如:Solarized Dark.xcs [Solarized Dark] text= cyan(bold)=93a1a1 text(bold)= m ...
- 第一百八十节,jQuery-UI,知问前端--消息提示 UI
jQuery-UI,知问前端--消息提示 UI 学习要点: 1.HTML 部分 2.CSS 部分 3.jQuery 部分 通过前面已学的 jQuery UI 部件,我们来创建一个注册表单. html ...
- 第一百七十三节,jQuery,Ajax
jQuery,Ajax 学习要点: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax()方法 6 ...
- Spring MVC复选框
以下示例显示如何在使用Spring Web MVC框架的表单中使用复选框(Checkbox).首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Framewo ...
- 自定制serilazry字段
在获取序列化返回值时候想要有时候我们需要生成我们需要的关联字段 class CourseSerializers(ModelSerializer): # 对于外键,one to one , choice ...
- 拍照权限,GPS权限的控制
最近项目中会遇到一些手机用户权限的问题,从网上百度了一下,发现有一些方法不能解决判断用户权限的是否开关,下面我就介绍两种权限的判断 1 拍照的权限控制 public static boolean is ...
- APP全局异常捕获,并保存本地文件
public class CrashHandler implements Thread.UncaughtExceptionHandler { public static final String TA ...
- 错误命令“if not exist "\Dll" mkdir "\Dll" xcopy "\bin\Debug\*.*" "F:\647\VS项目\EtrolMes2014SY\Framework\Dll" /e /i /y”已退出,代码为 9009
分析错误 第一步:观察错误,发现plugin文件夹中未生成对应的编译文件. 第二步:XCOPY命令无法执行,百度xcopy为何无法执行 第三步,搜索,发现环境变量未配置正确. 就是环境变量path(大 ...
- iOS学习笔记(一)——ios搭建开发环境
好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC OS X 另加一部iP ...