您的位置:

fiddler导入dat,fiddler导入客户端证书

本文目录一览:

Fiddler抓包入门

抓包使用场景:

1、用手机APP或浏览器访问一个页面,查看请求的结果是否正确,请求的参数是否正确

2、在不修改任何环境的情况下,修改返回的结果,即通常所说的mock

3、复杂场景:

比如,同一个域名下的请求,/img/xxx的资源发送到ServerA上,请求/api/xxx资源发送到ServerB上

我们使用浏览器或者客户端软件都要与外界进行通信,就必然会有数据的发送和接收,有时候需要对这些传递的数据进行分析,因此需要截获这些传递的数据。

其中对这些数据进行截获、重发、编辑、转存的过程叫做 抓包 。

本地应用与服务器之间所有的Request 和Response都将经过Fiddler,由Fiddler进行转发,此时Fiddler以代理服务器的方式存在。

由于所有的网络数据都会经过Fiddler,因此Fiddler能够截获这些数据,实现网络数据的抓包,可以详细地对HTTP请求进行分析,并模拟对应的HTTP请求。

1、本地化的工具,是一个使用本地 127.0.0.1:8888 的 HTTP 代理

(免费的web调试代理工具,支持任何浏览器、系统或平台)

启动Fiddler后,通过浏览器访问:

(1)任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler

(2)工具打开后,就自动设置了IE浏览器的代理,工具关闭后,IE的设置也将被还原

2、Fiddler本身对http协议支持较好,且操作简单容易上手

3、具有抓包和分析功能,省去了安装其他工具的必要

4、工具本身功能强大

(1)劫包:模拟接口不给前端返回数据,看前端怎么处理,如果没有工具,就只能采用断网、停用服务器

(2)篡改数据:假设没法去模拟前端对于接口返回数据很长时,怎么去展示,换行?截取?小屏幕上页面扭曲?如果通过篡改数据,就能直观的把数据返回给前端展示,很明显的看到前端数据是什么样的,就不需要从底层改数据

(3)模拟低速、弱网环境等,有些元素加载不出来会导致样式问题

网络爬虫是自动爬取网页的程序,在爬取的过程中必然会涉及客户端与服务端之间的通信,也需要发送一些HTTP请求,并接受服务器返回的结果。

有些网址变化肉眼是看不出规律的,这时配合抓包软件会变得较容易。

案例:网页底部“阅读更多”

在浏览一些图片网站时,浏览到最下面的时候会出现一个“阅读更多”的字样,此时单击“阅读更多”页面上显示更多内容,加载出来的内容跟原来的内容是在同一个网页上展示的。我们直接看网址的变化是看不出任何规律的,便无法分析该请求是如何实现的,无法通过程序构造出该请求。

此时可以通过Fiddler 进行抓包,对这些数据进行分析,查看request headers 发现是通过Get请求来实现的,总共有3个参数:order_by、page、per_page

通过分析就可以知道页面上只显示20篇文章,之后就需要通过 阅读更多 进行加载

每点击一次 阅读更多 ,相当于在修改page值

知道实现规律后,就可以通过编写程序构造出对应的请求,并由程序自动地实现这些请求的发送。

假如修改page为3、4、5,在新窗口进行访问,与页面阅读更多进行比对

Fiddler 默认是抓 http请求的,对于pc上的 https请求,会提示网页不安全,这时候需要在浏览器上安装证书

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。

1、检查Fiddler设置

2、导出证书

3、导入到Firefox浏览器

测试下结果,打开百度网页,成功了,接下来就可以进行抓包了

1、cls (或 clear) 清屏命令

清空会话列表中的所有会话

2、select 筛选某一类型的会话命令

如 select html ,输入命令后敲回车键,在会话列表中所有html类型的会话都已被选中

3、? 查找网址中包含某些字符的会话信息

如 ?jianshu 可以查找出网址中包含“jianshu”字符串的会话信息,跟其他会话信息用不同颜色区分显示

4、help 帮助命令

打开官方的使用页面介绍,所有的命令都会列出来

5、bpu、bpafter 断点命令

6、dump 快速保存

以 铁路网的货物跟踪 为例

页面有车号、货票号、验证码三个字段,通过输入不同格式的值来观察页面提示与 Fiddler 抓包返回的 json值

1、先输入格式正确的值,点查询

2、修改货票号的位数,点查询

1、两次抓包的接口是一样吗?第一个是post,第二个是get,不是同一个

2、第二个请求没有发出去,应该是前端直接对数值的位数做了校验的,这个时候就不会调接口,所以就没有数据显示了

如想更深入的使用Fiddler,请查看 进阶篇

fiddler抓包详细教程--会话保存

前言

为什么要保存会话呢?举个很简单的场景,你在上海测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是北京的一家合作公司。

你这时候给对方开发提bug,如何显得专业一点,能让对方心服口服的接受这个BUG呢?如果只是截图的话,不是很方便,因为要截好几个地方还描述不清楚,不如简单粗暴一点把整个会话保存起来,发给对方。

一、保存为文本

1、以博客园登录为例,抓到登录的请求会话

2、点左上角FileSaveSelected Sessionsas Text,保存到电脑上就是文本格式的

3、文本格式的可以直接打开,结果如下图

1、save-All Sessions :保存所有的会话,saz文件

2、save-Selected Session:保存选中的会话

(1)in ArchiveZIP :保存为saz文件

(2)as Text :以txt文件形式保存整个会话包括Request和Response

(3)as Text (Headers only) :仅保存头部

3、Request:保存请求

(1)Entir Request:保存整个请求信息(headers和body)

(2)Request Body:只保存请求body部分

4、Response:保存返回

(1)Entir Response:保存整个返回信息(headers和body)

(2)Response Body:只保存返回body部分

(3)and Open as Local File:保存Response信息,并打开文件

乱码问题(decode)

1、打开博客园首页: ,保存之后查看,会发现返回的是乱码

2、遇到这种情况,主要是需要解码,用前面学到的decode方法

3. 点击箭头区域后,重新保存就没乱码了。

4. 还有一个最简单办法就是选中上图会话框上的decode按钮,这样就自动解码了。

保存与导入全部会话

1、我们可以打开fiddler,操作完博客园后,选中saveAll Sessions,保存全部会话

2、保存后,在fiddler打开也很方便,直接把刚才保存的会话按住拽进来就可以了

3. 也可以选择FileLoad Archive导入这个文件

Repaly

1、导入请求后,可以选中某个请求,点击Repaly按钮,重新发请求

2、也可以ctrl+a全部选中后,点Repaly按钮,一次性批量请求

这里保存会话和replay功能其实就是相当于录制和回放了

fiddler中利用AutoResponder【重定向功能】 进行调试

一、将服务器的返回数据(即原资源)重定向到本地的文件进行调试

1、打开fiddler,打开浏览器输入(已百度为例),再回到fiddler进行设置

2、按照截图所示,分别将4个选购全部勾选,勾选完成后,将待重定向的网址直接拖到右方【手动填写完整地址/正则表达式进行模糊匹配的地址】即可 

3、填写要替换的内容,下拉框有很多选项可以选择, 比如201、302、404,502等status code 

注,我的一开始是404_Plain.dat

4、设置完成之后,刷新百度网页,请求回来的数据已经是替换后的内容了 

注:想取消的话,直接将第1步中勾选的Enable rules去掉即可

二、利用AutoResponder【重定向功能】修改返回response的数据

1、在fiddler中打开百度,选择SyntaxView的内容进行复制,保存到本机上,以baidu.html格式进行保存

2、点击AutoResponder,把刚才的网址拖到右边

3、第一个下拉框选择Header:Accept=html

    第二个下拉框选择你刚才保存baidu.html的路径

4、勾选Enable rules之类的四个,然后点击保存

5、再访问百度

注:想取消的话,直接将第1步中勾选的Enable rules去掉即可

fiddler怎么安装证书

首先,打开 Fiddler,在菜单栏中依次选择 【Tools】-【Fiddler Options】-【HTTPS】,勾上如下图的选项。

勾上后,Fiddler 会提示你安装一个证书。安装完后点击上图中的 "Export Root.." 按钮,将证书下载到桌面。

接着将证书导入到浏览器。这里以 chrome 举例,依次选择 【设置】-【管理证书..】 将保存在桌面的证书导入即可(其他浏览器类似,通常有个“证书”选项设置)。

也可以直接双击下载下来的证书,进行安装。

我们打开 ,这时就可以愉快地捕获 https 请求了!

细心的你可能会发现,在 https 的请求中夹杂着一些 http 的请求,并且该 session 的 Host 参数是个诡异的 "Tunnel to”,什么鬼? StackOverflow 里早已有 精彩解答 ,或者可以直接看 这里 ,简单地说 fiddler 当做代理转发 https 请求的时候,就会产生 "CONNECT Tunnels",所以大可忽略它。

使用fiddler+模拟器进行APP抓包

1、打开Fiddler,点击工具栏中的Tools—Fiddler Options

2、https设置及connections设置,勾选选择项

3、点击Actions,点击第二项:Export Root Certificate to Desktop,这时候桌面上会出现证书FiddlerRoot.cer文件,点击OK设置成功,关闭fiddler。

4、打开模拟器,设置代理。找到系统应用,点击设置,点击无线网络WLAN—左键常按点击已连接网络—修改网络。

5、将步骤3导出的证书FiddlerRoot.cer文件导入至模拟器。模拟器在更多里可以共享文件。将证书直接拖至该共享文件夹里。

6、在模拟器中打开系统应用—设置—安全—从SD卡安装。找到FiddlerRoot.cer文件,按提示导入即可,注意在此过程需要名称和解锁图案等,自行即可。

7、打开fiddler,重启模拟器,就可以在电脑上进行APP抓包了。

fillder证书的安装(firefox和手机)

注意:所有抓包过程中使用无痕浏览器

1、fiddler对浏览器抓包

1.1 对浏览器的http的抓包

Capturing开启,进行抓包;

Capturing关闭,停止抓包;

如下图:

1.2 对浏览器的https抓包

1.2.1 开启fiddler的https选项

配置路径:

Tools - Fiddler Options - HTTPS - 三个选项全部勾选

如下图所示:

1.2.2 fiddler导出ca证书

操作路径:

Tools - Fiddler Options - HTTPS - Export Fiddler Root Certificate to Desktop

如下图所示:

导出后,如下图所示:

1.2.3 火狐浏览器导入ca证书

操作路径:

浏览器 - 工具 - 选项 - 高级 -  证书 - 查看证书  - 导入

如下图所示:

导入:

1.2.4 重启浏览器和fiddler开始抓包

至此,fiddler可以对浏览器的http和https进行抓包

2、对安卓APP进行抓包

2.1 绑定手机网络至fiddler主机

操作路径:

设置 - 无线网络 - 选中连接的wifi - 高级设置 - 开启”手动HTTP代理“ - 编辑”代理服务器主机名“至主机IP

如图所示:

注意:抓包前,必须断开重连wifi

2.2 导入ca证书至手机

(1)传输证书至手机

可通过手机助手、微信助手等

(2)导入证书

如图:

(3)导入成功

如图:

至此,证书导入成功

2.3 fiddler设置移动设备抓包

操作路径:

Tools - Fiddler Options - Connections - 选中”Allow remote computers to connect”

如图:

注意:设置完后,抓包前必须重启fiddler设备

至此,fiddler可以正常对移动端设备进行抓包了