首页 > 技术文章 > Fiddler--简介

lisawu 2017-02-20 18:02 原文

Fiddler是一个http抓包工具,不管用什么浏览器,甚至不一定是浏览器,可以是Java程序、.Net程序……它都可以胜任,用它,我能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。

    它是在web server 和 client 之间搭了一层 proxy,所有的请求都会经过它,如下图所示:

    

    Fiddler在web client 与 server 之间充当了一个请求及响应的代理角色,它会在本地建立一个默认代理服务,端口默认为8888,为此我们访问一下此端口,可见如下效果:

    

    当启用 Fiddler时,IE会设定为使用系统代理,代理地址:127.0.0.1, 端口:8888,因此如果你的浏览器在开启Fiddler之后没有设置相应的代理,则Fiddler是无法捕获到HTTP请求的(FireFox需要手动设置代理,chrome浏览器我使SwitchyOmega)。如下是启动Fiddler之后,IE浏览器的代理设置:

    当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler或者去把代理设置去掉。

3、认识Fiddler

    借用网上博客图片,我们可以看到几个区域:

(1)监听开关 - 只有两种状态,capturing表示捕捉状态。

(2)监听类型 - 四种状态分别对应 监听所有请求;监听浏览器请求,监听非浏览器请求,和全部隐藏(Hide All)

(3)命令行 - 允许你直接输入命令,详细官方文档介绍 http://docs.telerik.com/fiddler/KnowledgeBase/QuickExec,常见得命令有:

  • help  打开官方的使用页面介绍,所有的命令都会列出来

  • cls    清屏  (Ctrl+x 也可以清屏)

  • select  选择会话的命令

  • ?.jpg  用来选择jpg后缀的图片的会话

  • bpu  截获request

(4)请求会话列表 会话第一列的图标含义

推荐阅读