沙滩星空的博客沙滩星空的博客

Fiddler抓包工具使用笔记

1. 普通https抓包设置

Tools => Options... => HTTPS

勾选 CaptureHTTPS CONNECTsDecrypt HTTPS traffic。同时,由于我们是通过WiFi远程连过来,所以在下面的选项框中选择...fromremote clients only

如果访问的HTTPS站点使用不可信的证书,则把下面的Ignore servercertificate errors勾选上。

Tools => Options... => Connections

监听端口默认是 8888 ,你可以把它设置成任何你想要的端口。勾选上 Allow remote computersto connect
为了减少干扰,可以去掉 Act assystem proxy on startup

2. 安卓设备设置代理服务器

保证PC所在网络和Android所用的wifi是相通的。
获取PC所在的WIFI局域网IP。如 192.168.0.52

安卓设备:
打开WiFi设置页面,选择要连接的无线热点AP。
长按,弹出对话框中,选择修改网络
勾选显示高级选项。点击代理,选择手动

代理服务器主机名设为上面提到的PC所在的WIFI局域网IP,代理服务器端口设为Fiddler上配置的端口8888,点"保存"。

这样就可以对普通的https抓包了。

3. 过证书校验

上面的设置还不能抓像招商银行、支付宝等APP的https包,因为这些APP对https证书进行了校验,还需要将Fiddler代理服务器的证书导到Android设备上才能抓这些APP的包。

导入的过程:

打开浏览器,在地址栏中输入代理服务器的IP端口,会看到一个Fiddler提供的页面:

点击页面中的 FiddlerRootcertificate 链接,接着系统会弹出对话框:
输入一个证书名称,然后直接点“确定”就好了。

4. 使其在HttpURLConnection下正常抓包

现在招商银行还有支付宝,都可以抓包了,但是对于像陌陌这样使用HttpURLConnection进行通讯的APP还是无能为力

还需要对fiddler进行如下设置:

点击"Rules->CustomizeRules";

在这个函数OnBeforeResponse后面添加

if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 
&& oSession.HTTPMethodIs("CONNECT")){
    oSession.oResponse.headers["Connection"] = "Keep-Alive";
}

如下所示:

static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }
    if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 
    && oSession.HTTPMethodIs("CONNECT")) {
        oSession.oResponse.headers["Connection"] = "Keep-Alive"; 
    }
}

这里的" Android"可替换为User-Agent里的其它字符,确保匹配上User-Agent就行


本人是小米机 目前按找上面的测试已可以成功抓取大部分应用App的包。

小米机需要自行安装证书

访问IP:8888进行证书下载

进入手机设置-》更多设置-》系统安全-》加密与凭据-》从存储设备安全 然后选择从上面网页上下好的。cer文件进行安装

安装完成后需要设置手机WiFi的代理服务器,目标服务器指向电脑IP 我的是用电脑开热点 手机连接电脑热点


fiddler Android下https抓包全攻略 https://www.cnblogs.com/hnusthuyanhua/p/12915033.html
未经允许不得转载:沙滩星空的博客 » Fiddler抓包工具使用笔记

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址