《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(8)-Fiddler如何设置捕获会话

1.简介

 前边几篇宏哥介绍了Fiddler界面内容以及作用。今天宏哥就讲解和分享如何设置Fiddler后,我们就可以捕获会话,进行抓包了。

2.捕获会话的设备

常见的捕获会话的设备分为PC(电脑)端和手机(Android和IOS苹果)端。

3.PC(电脑)端

电脑端我们一般抓取的都是web网站请求和响应信息。那么我们看一下如何设置进行抓包。

3.1Fiddler抓web网站请求
3.1.1方法一

1.手动设置方法:Tools--->WinINET Options--->连接--->局域网设置--->代理服务器勾选后“高级”--->服务器地址:127.0.0.1,端口8888;如下图所示:

 3.1.2方法二

1.手动设置方法:①、File--->勾选Capture Traffic; 如下图所示:

    ②、点击左下角Capturing进行选择或取消;如下图所示:

2.自动设置步骤:Tools---> Options--->Connections--->勾选Act as system proxy on startup(作为系统启动代理),如下图所示:

3.2浏览器设置
3.2.1 IE浏览器

1.打开IE,点击右上角的”工具“,选择”Internet选项“。如下图所示:

2.连接--->局域网设置。如下图所示:

3.代理服务器勾选后“高级”--->填写服务器地址:127.0.0.1,端口8888。如下图所示:

3.2.2chrome设置代理

1.点击右上角三点标志->点击设置->高级->打开您计算机的代理设置(进入代理设置页),如下图所示:

2.设置代理【输入代理地址:127.0.0.1 端口:8888(若设置了其他端口,输入自己设置的端口号)】,如下图所示:

3.2.3firefox设置代理

1.点击设置->选项->网络设置(设置)>进入代理设置页,如下图所示:

2.勾选手动代理配置,设置代理【输入代理地址:127.0.0.1 端口:8888(若设置了其他端口,输入自己设置的端口号)】,如下图所示:

3.浏览器设置好代理后,访问页面,fiddler便会抓取访问请求,访问淘宝为例,fiddler抓取请求,如下图所示:

4.Fiddler抓APP请求

手机端我们一般抓取的都是APP请求和响应信息。那么我们看一下如何设置进行抓包。

4.1常用设置

1.设置步骤一:Tools---> Options--->HTTPS--->勾选Decrypt HTTPS traffic--->选择…from remote clients only(从远程客户端),如下图所示:

2.设置步骤二:Tools---> Options--->Connections--->设置Fiddler listens on port:8888--->勾选Allow remote computers to connect(允许远程设备连接),如下图所示:

3.设置步骤三:①.查看fiddler所在计算机的IP(cmd---> ipconfig或者点击fiddler右上角Online),如下图所示:

或者查看电脑ipv4地址,打开cmd窗口输入:ipconfig。如下图所示:

 ②.手机上进行设置:同一个wifi下设置代理,服务器地址:计算机的IP(192.168.0.163),端口8888;如下图所示:

4.2附加设置(常用设置后无法进行抓包)
4.2.1方法一

    方法:因为有些APP对安全上要求没有那么高时候,不需要下载证书,但是有的APP对安全要求比较高,就需要下载证书,下载证书步骤:在手机浏览器输入网址:http://[FIDDLERSERVER]:[Port]/FiddlerRoot.cer或者[FIDDLERSERVER]:[Port],例如:http://192.168.0.163:8888/FiddlerRoot.cer或者192.168.0.163:8888

    安装的证书在手机的位置如下,可以进行删除、重新安装;

4.2.2方法二

方法:1.启动Fiddler,然后Rules---> Customize Rules打开代码编辑器,如下图所示:

2.按Ctrl+F--->打开Find and Replace--->输入查询关键字:OnBeforeResponse。如下图所示:

3.在函数OnBeforeResponse中添加如下代码:

苹果手机:

代码语言:javascript
复制
if (oSession.oRequest["User-Agent"].indexOf("iPhone/9.2.1")> -1 && oSession.HTTPMethodIs("CONNECT")){
oSession.oResponse.headers["Connection"] = "Keep-Alive";

}

安卓手机:

代码语言:javascript
复制
if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 && oSession.HTTPMethodIs("CONNECT")){

oSession.oResponse.headers["Connection"] = "Keep-Alive";

}

5.小结

 好了,今天就简单的说明一些配置和技巧,后边关于手机端,宏哥会单独列出章节进行详细讲解。小伙伴或者童鞋们在这里先入入门有个印象就好。