美文网首页Fiddler如何用Fiddler对APP应用进行抓包
如何使用Fiddler Filter 与 FiddlerScri

如何使用Fiddler Filter 与 FiddlerScri

作者: Lyrieek | 来源:发表于2018-12-26 12:12 被阅读12次
    Fiddler

    Fiddler的Find Session相比同类产品,功能上已经十分极致,即使不需要Filter也可以轻易抓取目标请求,但在请求繁多,监控目标流量过多的情况下,Filter不可或缺。

    Fiddler具有高定制性,理论上可以拦截所有可代理请求并依特定条件过滤,但本文仅涉及常用Field的过滤:Protocol,Host,URL,Content-Type,HTTP Method。

    • Protocol
      实际上过滤Protocol基本上只相对于HTTP与HTTPS两种协议,由于HTTPS基于TLS,默认配置下Fiddler不会监听HTTPS请求,首先开启拦截HTTPS请求,如图在menu中选择Tool>Options


      Tool>Options

      选中Options>HTTPS>Decrypt HTTPS traffic


      Decrypt HTTPS traffic
      此时操作系统将询问是否通过Fiddler的证书,同意后成功
      启用成功
      启用后Fiddler将同时监听HTTP与HTTPS流量,在Filter界面对其进行设置

      勾选Use Filter


      Use Filter
      设置过滤哪一种协议
      过滤Protocol
    • Host
      同在Filter界面,只需要如下设置

      Host
      过滤多个Host只需用;隔开
      多个Host
    • URL

      URL 过滤
      Show only if URL contains过滤出所需的URL,使用正则在前面追加REGEX:
      Hide if URL contains隐藏符合规则的URL,可以与Show only if URL contains同时使用,也支持正则,同样需要以REGEX:开头
    • Content-Type


      Content-Type

      只需要在response type and size的下拉框中选择即可

    • HTTP Method
      例如如果要隐藏所有HTTP Method为OPTIONS的请求,打开FiddlerScript界面找到OnBeforeRequest方法


      FiddlerScript

      在OnBeforeRequest方法最后一行追加判断

    if (oSession.HTTPMethodIs("OPTIONS")) {
        oSession["ui-hide"] = "true";
    }
    

    HTTPMethodIsy方法也可以判断其他HTTP Method,例如POST,GET,DELETE,PUT,PATCH。

    Fiddler使用C#编写,它将动态编译FiddlerScript并进行调用,实际上FiddlerScript也是一个普通的C# class,可以利用其做很多复杂的逻辑判断用来过滤请求,参数Seesion具有类索引器,取值便捷,即使不熟悉c#语法也可以轻松做过滤逻辑,设计非常周到。

    相关文章

      网友评论

        本文标题:如何使用Fiddler Filter 与 FiddlerScri

        本文链接:https://www.haomeiwen.com/subject/ztgclqtx.html