分享

Fiddler抓包(包含遇到问题集合)

 缕梦菲烟 2022-02-15

Fiddler安装就不说了,百度一堆,主要是抓不了APP包或者是HTTPS才比较头疼,一个一个说问题和解决方案

一、如何抓HTTPS包并过滤抓包条件--抓WEB

一开始你安装好Fiddler以为万事大吉web随意抓,但是后面发现确实太年轻,什么请求都抓,自己先傻傻分不清,那我们就要学会使用过滤:看Fiddler的右边,我们勾选上Use Filters然后按下图配置(这里抓百度)-->输入完成后后点击"Actions"-->Run Filtersset Now-->左边就会只抓百度的包

然后我们取消掉过滤,接下来发现HTTPS的包都是飘红色,那我们就要解决抓Https的问题:

当初参考的是这篇文章https://www.cnblogs.com/liulinghua90/p/9109282.html

还是有借鉴作用,但是实际上并不需要卸载你安装好的Fiddler,只需要删除Fiddller的证书,然后重新生成一个,放入电脑证书管理和浏览器中,重启Fiddler和浏览器就完事了,下面说差不多也就那些步骤:

1.清除电脑上的根证书,WIN+R快捷键,输入:certmgr.msc, 然后回车,查找所有fiddler证书,然后删除。

2.清除浏览器上的证书文件 ,此处需要仔细查找带有FiddlerRoot的字样,并删除,以谷歌浏览器为例说明,在浏览器上输入: chrome://settings/

3.打开fiddler,点击工具栏中的Tools—>Options,点击Actions,选择最后一项,Reset All certificates,然后关闭

4.再次打开fiddler,点击工具栏中的Tools—>Options-->点击https设置选项,勾选选择项-->点击Actions,点击第二项:Export Root Certificate to Desktop,这时候桌面上会出现证书FiddlerRoot.cer文件,点击OK设置成功,关闭fiddler

5.PC端,在浏览器中导入证书FiddlerRoot.cer,以谷歌浏览器为例说明,在浏览器上输入: chrome://settings/  然后进入高级设置,点击管理证书-->在受信任的根证书颁发机构,对证书进行导入

6.建议再次检查一下电脑上的根证书,WIN+R快捷键,输入:certmgr.msc-->确保Fiddler的证书都重新生成了,如果没有,那就手动导入步骤4中生成在桌面的哪个cer

7. 重新打开fiddler,就可以在电脑上进行https抓包了,如果抓取的包都是错误的,需要注意把下面这几个反勾选掉。Autoresponder—enable rules

二、手机端抓包

这才是比较实用的,毕竟web端再不济F12都能看到请求信息,但是手机端却没有像浏览器这样的功能,我们先按照百度的方法去安装猎豹免费wifi并配置好代理,移步这个链接参考,这里不再赘述:https://www.jianshu.com/p/360b4959e39d

顺利的话确实你就能在Fiddler里看到你想抓的手机的包,但是我没那么顺利,想抓的APP总是报网络异常,死活请求不了,度娘说了一堆,我总结一下处理方法:假设你在Fiddler配置手机链接是这样,ip是这样

1、方法一:解决WiFi、代理问题

a.关闭电脑防火墙(不知道的可以百度去看)

b.打开注册表:window键+r打开黑窗口输入:regedit敲回车;然后在HKEY_CURRENT_USER\Software\Microsoft\Fiddler2(如果没有这个文件,可以自己创建)下创建一个DWORD,值置为80;

c.去fiddle上面设置rules->Customize Rules用Ctrl+F查找OnBeforeRequest方法(敲回车)然后在绿色代码下添加一行代码:

if (oSession.host.toLowerCase() == "webserver:8888")

{undefined

   oSession.host = "webserver:80";

}

设置完之后重启Fiddler即可。

2、方法二:解决抓HTTPS包

打开手机自带浏览器使用 “ip:端口号”  的方法先去下载好证书,如我上面那就是Http://192.168.191.X:8888

IOS:设置 —> 通用 —> 关于本机 —> 受信任证书存储区,找到需要安装的证书,安装即可。

ANDROID:设置 —> 安全 —> 从手机存储安装(或者是:设置 —> 其他设置 —> 设备与隐私 —> 从存储设备安装证书),找到需要安装的证书,安装即可。

(注意:如果提示你需要键入凭据的密码,那一般是你没有设置手机锁屏密码,你设置了就好了,就能成功安装这个证书,如果不能就输入锁屏密码作为键入凭据密码)

然后尝试打开你的APP过滤API接口看看Fiddler是否能正常抓取APP的HTTPS包

基本估计就这些问题,后续如果还遇到一些问题,再来补充~

ps:Fiddler查看响应时间的代码,在菜单栏上面找到Rules->CustomRules 然后在class Handlers中写入如下代码

  1. function BeginRequestTime(oS: Session)
  2. {
  3. if (oS.Timers != null)
  4. {
  5. return oS.Timers.ClientBeginRequest.ToString();
  6. }
  7. return String.Empty;
  8. }
  9. public static BindUIColumn("Time Taken")
  10. function CalcTimingCol(oS: Session){
  11. var sResult = String.Empty;
  12. if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
  13. {
  14. sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
  15. }
  16. return sResult;
  17. }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多