抓包软件之Fiddler

一.简介

抓包工具fiddler

二.下载安装Fiddler

下载地址:Download Fiddler Web Debugging Tool for Free by Telerik

1.下载界面

image.png

image.png

因为我的目的是为了手机端抓包,所以选择mobile,接下来填写你的邮箱和国家,写好之后选择Download for Windows进行下载

2.Fiddler的安装

下载完成后双击安装包


image.png

点击I Agree,然后选择你想要存放的安装目录,如不需要修改,使用默认即可,之后选择Install进行安装


image.png

安装成功后点击close。

三.Fiddler的配置

3.1

image.png

image.png

将上面红框里的勾选,这个是为了允许抓取https的流量。如果第一次使用,勾选之后会提示你安装一个证书,这个证书就是用来做中间人进行抓包的,Fiddler使用此证书来解密所捕捉到的包,在加密发送到相应的服务器端或者客户端。


image.png

如果没有弹出来可以点击右边的Actions按钮,然后选择Trust Root Certificate按钮,然后全部选择是就ok了。

之后再选择Actions中的第二个选项将证书导出到桌面,在对应的浏览器里面添加即可

之后选择抓取哪一部分的流量


image.png

1.from all processes:抓取所有进程的流量
2.from browsers only:只抓取浏览器的流量
3.from non-browsers only:不抓取浏览器的流量
4.from remote clients only:抓取远程的客户端,当需要抓取的是手机端的流量,就需要用到这个

接下来设置端口号


image.png

一般默认即可,下面的那个 Allow remote computers to connect 是允许远程的客户端进行连接,如果抓取手机端的也需要勾选

3.2

image.png

image.png

此时用手机链接wifi,然后长按wifi名修改网络,点击代理,选择手动


image.png

主机名:电脑的ip地址,选择电脑win+R,输入cmd,回车,输入ipconfig


image.png

由于我的电脑也是链接wifi,所以ip地址对应的时无线网络的,如果你的电脑使用网线上网,ip地址就是以太网的那个

填写完之后还不能抓取,如果直接抓取会显示证书有问题,也需要安装证书才可以正常抓取。
安装证书:
在手机浏览器输入你的ip地址:端口号 进入网址下载证书,如 192.168.1.1:8888,端口号是之前在Fiddler设置的那个


image.png

点击上述链接进行下载安装即可,如果设置完了,网络没了,那就重启一下Fiddler就可以进行抓包了

3.3对https抓包

如果上述都设置完成后,发现app抓取https无法成功解析请求的包信息,可以通过以下步骤设置:
在目标项目的res/xml目录下创建一个network_security_config.xml文件,然后加入如下配置:


image.png

接着在AndroidManifest.xml中配置android:networkSecurityConfig属性来让上述配置生效:


image.png

这样我们就可以对当前的应用程序发出的https网络请求进行抓包了。

因为在Android7.0系统中进行了一项安全升级,从Android7.0系统开始,只是在手机上安装了抓包工具的证书,仍然无法对https请求进行抓包,还必须要在应用程序的代码中加入一段网络安全配置才行。默认情况下,我们无法对各个APP的https请求进行抓包。浏览器并不存在这个问题,因为它的Chromium内核源码中已经配置过,而所有基于Chromium内核的浏览器也就都自动拥有了这个功能。

四.抓包内容的介绍

image.png

左边是捕捉的请求和响应,右边对应的是请求的详细信息,比如请求头,表单信息;
左边每列代表的含义为:


image.png

五、常用功能

1.查找:抓包时,经常会抓到一堆不重要的包,而需要找的包夹杂在里面非常难找,所以就可以用关键字来查找,入口为:
image.png

或者可以直接点


image.png

也可以快捷键Ctrl+F即可:


image.png

2.映射:也就是重定向,将服务器端的响应内容可以更改为客户端上的文件,功能也很强大。

参考链接:
抓包软件 Fiddler 了解一下? (juejin.cn)

在Android手机上对https请求进行抓包 (qq.com)

你可能感兴趣的:(抓包软件之Fiddler)