fiddler 抓包工具

TimeSky 2019-12-22

fiddler 抓包工具

一、HTTP代理

所谓的http代理,其实就是代理客户机的http访问,主要代理浏览器访问页面。

代理服务器是介于浏览器和web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

filder充当的角色其实就是代理;我们访问目标网址时, 其实是先经过fiddler,通过浏览器查看这时我们访问的远程地址其实是:Remote Address: 127.0.0.1:8888(也就是fiddler代理服务)

注意!fiddler默认端口8888,如果虚拟机端口转发也是8888就会冲突;因此修改任何一方的端口

二、fiddler

1.安装

官方网站下载安装即可:[https://www.telerik.com/fiddler]

2.使用

抓包工具抓取HTTPS的包的时候跟HTTP的直接转发是不同的。所以我们需要配置HTTPS的证书。

下侧边栏

工具栏

1.给session添加一个注释(这里的每个请求就是一个session)

2.Replay:将目标session再发送一次

3.删除指定的session

4.将断点的session恢复执行

5.Decode:将传输的数据解码成容易阅读的格式

6.Find:查找session 快捷键 ctrl + f

7.Save:将session保存成本地文件

8.Clear Cache:清除缓存

session窗口

1.#:Session的序号

2.Result:请求的响应状态码

3.Protocol:请求的协议类型

4.Host:域名

5.URL:请求的url

6.Body:响应体的大小

7.Caching:缓存方式

8.Content-Type:响应的数据类型

9.Process:发起请求的进程

10.Comments:注释

Ctrl + x 快速删除所有请求

同时,每一个session都有不同的颜色,不同的颜色代表不一样的session类型。

Inspectors标签页

请求数据窗口

1.Headers:报头

2.TextView:查看文本数据

3.SyntaxView:根据语法格式查看

4.WebForms:Web表单

5.HexView:查看十六进制数据

6.Cookies:查看请求的Cookies

7.Json:查看json格式数据

响应数据窗口

1.Transformer:解压方式

2.Headers:报头

3.TextView:查看文本数据

4.SyntaxView:根据语法格式查看

5.ImageView:查看图片

6.WebView:查看Web

7.HexView:查看十六进制数据

8.Cookies:查看响应设置的Cookies

9.Json:查看json格式数据

Filters选项

1.是否使用Filters。

2.Filters的规则是可以保存和加载的,也就是我们可以把规则保存下来以后再用。

3.根据Host域名来进行筛选。

4.根据客户端的进程来进行筛选。

5.根据请求的Headers来进行筛选。

6.断点:Fiddler的断点功能能够让请求在发送后,或者是在返回时暂停,这时候就能够对请求和响应进行相应的修改。

7.根据响应的状态码筛选。

8.根据响应的类型和大小来进行筛选。

9.根据响应的Headers来进行筛选。

filters??
  • User Filters: 表示是否使用filters

  • Client Process:

    • Show only traffic from: 只显示某个进程发送的请求

    • Show only Internet Explorer traffic: 只显示IE Browser发送的请求

    • Hide traffic from Service Host:

  • Request Headers: 针对请求

    • Show only if URL contains: 只显示URL中包含某些字符的请求, 多个条件可用空格分隔, 也可使用正则表达式

    • Hide if URL contains: 隐藏URL中包含某些字符的请求, 多个条件可用空格分隔,也可使用正则表达式

    • Flag requests with headers: 加粗带有特定header的请求

    • Delete request headers: 删除特定header

    • Set request header: 给请求设置header

  • Breakpoints:

    • Break request on POST: 对POST请求进行断点.

    • Break request on GET with query string: 对GET请求设置断点.

    • Break on XMLHttpRequest: 针对AJAX请求设置断点

    • Break response on Content-type: 指定响应中的内容类型来断点

  • Response Type and Size:

    • Time HeatMap: 时间热图

    • Block xx files: 阻止返回相关类型的文件

  • Response Headers:

    • Flag responses that setcookies: 加粗有返回set-cookies的响应

    • Flag responses with headers: 对有指定字段的响应进行加粗

    • Delete responsesheaders: 删除响应中指定的字段

    • Set response header: 设置响应首部字段

Find查找

1.文本输入框。

2.可以选择搜索的范围,限定在仅Requests或者response中,也可以选择限定在headers或bodies中。

3.是否区分大小写。

4.是否用正则表达式来搜索。

5.仅仅搜索被选中的session。

6.将搜索到的结果高亮,可以选择颜色。

命令行查找

1.select命令:搜索相应类型的session,也就是content-type。

2.?命令:根据URL来进行搜索。

3.=命令:根据状态码来进行搜索。

命令:仅根据域名进行搜索。

断点

设置断点是Fiddler最强大的功能之一,在设置好断点后,Fiddler会捕捉所有经过的消息,我们可以任意修改HTTP请求信息,包括Host、Cookies或表单的数据。可以设置断点修改request,也可以设置断点修改response。

断点方式有两种,一种是通过菜单栏设置全局的断点,一种是通过命令行设置指定的断点

全局断点

在菜单栏中选择Rules > Automatic Breakpoints,即可选择断点方式。有两个选择,分别是在请求往服务器发送的时候暂停,和在响应返回到客户端的时候暂停。

指定断点

指定断点需要输入指定的命令来进行断点:

1.bpu:在指定网页发起请求后暂停。如:bpu www.baidu.com 取消bpu

2.bpafter:在指定网页返回响应时暂停。

3.bpm:中断指定请求方式的请求。如:bpm get

4.bps:中断指定状态码的session。如:bps 200

三、app抓包

首先确保手机和电脑在同一个网络!!

1、安装fiddler,并且进行配置:

Tools >> options >> connections >> 勾选 allow remote computers to connect

2、查看本机ip地址:

在cmd窗口中,输入 ipconfig ,查看 以太网/无线网适配器 ,可以看到

IPv4 地址...............:192.168.0.104

这个192.168..**(192.168.0.104) 就是你的本机IP

3、确保手机连接了wifi,并且和电脑是在同一个局域网,并且fiddlers是运行的

在手机中,打开浏览器,访问http://192.168.0.104:8888 # 该网址就是用命令查看的本地ip+8888(fiddler默认端口)

IP:是第二步查看到的ip地址,替换成你自己的IP

port:8888是你在fiddler中配置的

注意:有些浏览器会显示打不开,更换其他浏览器就可以了

4、访问成功的话5、点击 最后一行 FiddlerRoot certificate , 下载证书

5、安装 证书(不同的手机不同的方式)

设置 >> wifi(或WLAN) >> 高级设置 >> 安装证书 >>选中刚刚下载的 证书文件 FiddlerRoot.cer >> 确定

设置(Settings) >> 更多设置 >> 系统安全 >> 从存储设备安装

为证书命名 , 输入自己喜欢的名字,譬如 fiddler ,确定 , 显示 证书安装完成

安装完成后,在 设置(Settings) >> 更多设置 >> 系统安全 >> 信任的凭证 >>

系统和用户2个tab页 >> 用户 >> 可以查看到 DO_NOT_RUST_FiddlerRoot

6、手机设置代理

手机设置 >> wifi(或WLAN) >> 选中连接的网络(长按) >>修改网络 >> 显示高级选项 >>

代理(手动):填写刚才电脑cmd查看的主机名 和 fiddler的端口

 

相关推荐