1.Fiddler抓包工具安装&设置后仍抓不到包(接口)的解决方案
注意:[安装证书,ios11版本后,fiddler抓包,安装的证书需要授权,在【设置>通用>关于本机>证书信任设置】找到安装的证书名称,信任开关打开即可正常抓包]
安装包和插件安装包下载:(也可从官网下载)
链接:https://pan.baidu.com/s/1RHSCp-MJg0mHRveiAahMJg
提取码:eyoi
1.1 Phone安装证书
安装证书步骤:(如果Android抓包不成功则同样安装下证书设置下,一般Android不需要设置)
------>使用Safari /其他浏览器打开PC端IP地址&端口号(如:192.168.XX.XXX:8888)
------>首次电脑安装,打开safari并输入IP+端口号(192.168.XX.XXX:8888)运行,若提示无法打开对应服务,则需要配置高级安全防火墙设置入站规则:
>>>菜单中搜索【高级安全防火墙】,入站规则,新建规则
>>>选择端口规则类型,点击下一步
>>>协议TCP,选择特定本地端口:输入端口号
>>>操作允许链接
>>>配置文件选择默认,名称自定义,点击完成即可
1.2 Fiddler 设置Tools > Options
HTTPS tab勾选如下图所示
1.3 Connections页面查看端口号
1.4证书设置connections页面Actions
PS:若Trust Root Certificate 栏位不亮,则需重置所有证书再安装【Reset all Certificate】
1.5 证书信任后,设置手机代理
1.6设置成功后,同网络端下即可开始抓包
打开App可以看到请求信息
1.7 抓包接口分析
------>点击查看右侧接口返回值,查看Jason返回值;
------>如果有异常则为接口问题,需要发送
------>Raw中的Post IP 和参数act的值提供给相应的接口负责人
1.8设置断点(左侧点击可以在fiddler 中抓取web端接口)
1.9 以上设置后仍无法抓包处理方式
PS:设置【入站规则,证书,代理】后,仍无法抓包的处理方式:(最好重新装下fiddler,若不想重新装,尝试以下操作)
------>首先,看看火狐浏览器的配置,是不是下方“为所有协议使用相同代理”的地方没有勾选上,如果是,请勾选上
------>请在如图处输入certmgr.msc并回车,打开证书管理
请点击操作–查找证书,如下所示:
然后输入fiddler查找所有相关证书,如下所示:
可以看到,我们找到一个,您可能会找到多个,不要紧,有多少个删多少个,分别右键–删除这些证书,如下所示:全删
------>打开浏览器,进入选项-高级-证书-查看证书,然后找以DO_NOT开头的关于Fiddler的证书,以字母排序的,所以你可以很快找到右键,然后全部依次删除特别注意,请如图中【个人、服务器、证书机构、其他】等标签依次查找,以免遗漏,切记切记!
------>安装插件,下载了这个之后,直接打开
------>有了证书之后,请重启Fiddler(关掉再开),重启之后,工具中的证书重新信任
------> 务必注意: 如果,你在导出的时候出现:creation of the root certificate was not located等错误,不要慌。接下来在cmd命令行中进入Fiddler安装目录,比如我的是C盘,所以进入如下图所示Fiddler2目录,然后直接复制下方make那一行代码,然后直接cmd中运行,出现如下所示succeeded提示,出现这一步提示之后,再按上一步骤的方法导出证书,就能成功了
命令:
makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com ” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
------> Fiddler重启,浏览器也重启,然后开始抓包