一.简介
抓包工具fiddler
二.下载安装Fiddler
下载地址:Download Fiddler Web Debugging Tool for Free by Telerik
1.下载界面
因为我的目的是为了手机端抓包,所以选择mobile,接下来填写你的邮箱和国家,写好之后选择Download for Windows进行下载
2.Fiddler的安装
下载完成后双击安装包
点击I Agree,然后选择你想要存放的安装目录,如不需要修改,使用默认即可,之后选择Install进行安装
安装成功后点击close。
三.Fiddler的配置
3.1
将上面红框里的勾选,这个是为了允许抓取https的流量。如果第一次使用,勾选之后会提示你安装一个证书,这个证书就是用来做中间人进行抓包的,Fiddler使用此证书来解密所捕捉到的包,在加密发送到相应的服务器端或者客户端。
如果没有弹出来可以点击右边的Actions按钮,然后选择Trust Root Certificate按钮,然后全部选择是就ok了。
之后再选择Actions中的第二个选项将证书导出到桌面,在对应的浏览器里面添加即可
之后选择抓取哪一部分的流量
1.from all processes:抓取所有进程的流量
2.from browsers only:只抓取浏览器的流量
3.from non-browsers only:不抓取浏览器的流量
4.from remote clients only:抓取远程的客户端,当需要抓取的是手机端的流量,就需要用到这个
接下来设置端口号
一般默认即可,下面的那个 Allow remote computers to connect 是允许远程的客户端进行连接,如果抓取手机端的也需要勾选
3.2
此时用手机链接wifi,然后长按wifi名修改网络,点击代理,选择手动
主机名:电脑的ip地址,选择电脑win+R,输入cmd,回车,输入ipconfig
由于我的电脑也是链接wifi,所以ip地址对应的时无线网络的,如果你的电脑使用网线上网,ip地址就是以太网的那个
填写完之后还不能抓取,如果直接抓取会显示证书有问题,也需要安装证书才可以正常抓取。
安装证书:
在手机浏览器输入你的ip地址:端口号 进入网址下载证书,如 192.168.1.1:8888,端口号是之前在Fiddler设置的那个
点击上述链接进行下载安装即可,如果设置完了,网络没了,那就重启一下Fiddler就可以进行抓包了
3.3对https抓包
如果上述都设置完成后,发现app抓取https无法成功解析请求的包信息,可以通过以下步骤设置:
在目标项目的res/xml目录下创建一个network_security_config.xml文件,然后加入如下配置:
接着在AndroidManifest.xml中配置android:networkSecurityConfig属性来让上述配置生效:
这样我们就可以对当前的应用程序发出的https网络请求进行抓包了。
因为在Android7.0系统中进行了一项安全升级,从Android7.0系统开始,只是在手机上安装了抓包工具的证书,仍然无法对https请求进行抓包,还必须要在应用程序的代码中加入一段网络安全配置才行。默认情况下,我们无法对各个APP的https请求进行抓包。浏览器并不存在这个问题,因为它的Chromium内核源码中已经配置过,而所有基于Chromium内核的浏览器也就都自动拥有了这个功能。
四.抓包内容的介绍
左边是捕捉的请求和响应,右边对应的是请求的详细信息,比如请求头,表单信息;
左边每列代表的含义为:
五、常用功能
1.查找:抓包时,经常会抓到一堆不重要的包,而需要找的包夹杂在里面非常难找,所以就可以用关键字来查找,入口为:或者可以直接点
也可以快捷键Ctrl+F即可:
2.映射:也就是重定向,将服务器端的响应内容可以更改为客户端上的文件,功能也很强大。
参考链接:
抓包软件 Fiddler 了解一下? (juejin.cn)
在Android手机上对https请求进行抓包 (qq.com)