zoukankan      html  css  js  c++  java
  • Fiddler

    来源:http://blog.csdn.net/ohmygirl/article/details/17846199 

    慕课网教程:https://www.imooc.com/video/392

    ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀ Fiddler 下载+手机抓包配置

    1.手机配置详见 :https://blog.csdn.net/shimengran107/article/details/78644862

    2.手机端配置好后, 打开手机浏览器,输入ip:端口号=172.18.53.93:8888, 并点击 “FiddlerRoot certificate”按钮,下载证书。

        如提示无证书。则Tools-> Fiddler Options->https ->勾选 decrypt... 。然后手机端重新访问  ip:端口号 ,下载证书

    2..fiddler抓包手机添加代理后连不上网解决办法:

    手机设置代理后,无法访问网络了

      (1)regedit 打开注册表,在HKEY_CURRENT_USERSOFTWAREMicrosoftFiddler2下创建一个DWORD,值设置为80(十进制)

     (2)编写FiddlerScript rule,点击Rules > Customize Rules,用ctr+f查找到OnBeforeRequest方法添加一行代码

    if (oSession.host.toLowerCase() == "webserver:8888")
    {
       oSession.host = "webserver:80";
    } 
    

      

     3.过滤只抓取手机

    1.手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。

    2.打开fiddler>Tools>Fiddler Options>HTTPS>...from remote clients only,勾选这个选项就可以了

    ...from all processes :抓所有的请求

    ...from browsers only :只抓浏览器的请求

    ...from non-browsers only :只抓非浏览器的请求

    ...from remote clients only:只抓远程客户端请求

     

    4.过滤抓取指定网址

    详见:https://www.cnblogs.com/sunny-sl/p/6542375.html

    (1)常用域名过滤,只显示特定域名的记录:

    *.baidu.com表示所有的百度二级域名会话;*baidu.com表示一级域名+二级域名的会话。设置好了后一定要点击Actions生效;

     ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀  PC安装fiddler后 无法正常访问网页

     PC端导入包 https://www.cnblogs.com/pingguo-softwaretesting/p/7755440.html

    ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀ Fiddler 简介

     Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

    客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端。基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。

    Fiddler 作为系统代理,当启用 Fiddler 时,IE 的PROXY 毁被自动设定成 127.0.0.1 (端口号不一定是8888)。 fiddler关闭时,则代理也会一同被取消

      

    fiddler  界面:

    1.Fiddler的菜单栏上图绿色部分。包括捕获http请求,停止捕获请求,保存http请求,载入本地session、设置捕获规则等功能。

    2.Fiddler的工具栏,上图红色部分。包括Fiddler针对当前view的操作(暂停,清除session,decode模式、清除缓存等)。

    3.web Session面板,Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示:

    其中,#号列中的图标,每种图标代表不同的相应类型 ,来源详见

    • 这里写图片描述 请求已经发送到服务器
    • 这里写图片描述 从服务器读取响应
    • 这里写图片描述 请求在断点处被暂停
    • 这里写图片描述 响应在断点处被暂停
    • 这里写图片描述 请求使用HTTP HEAD 方法;响应应当没有body
    • 这里写图片描述 请求使用HTTP POST 方法
    • 这里写图片描述 请求使用HTTP CONNECT 方法;使用HTTPS协议建立连接通道
    • 这里写图片描述 响应是HTML
    • 这里写图片描述 响应是图片
    • 这里写图片描述 响应是脚本文件
    • 这里写图片描述 响应是CSS文件
    • 这里写图片描述 响应是XML
    • 这里写图片描述 响应是JSON
    • 这里写图片描述 响应是音频文件
    • 这里写图片描述 响应是视频文件
    • 这里写图片描述 响应是Silverlight applet
    • 这里写图片描述 响应是Flash applet
    • 这里写图片描述 响应是字体
    • 这里写图片描述 普通响应成功
    • 这里写图片描述 响应是HTTP/300,301,302,303,307转向
    • 这里写图片描述 响应是HTTP304(无变更): 使用被缓存的版本
    • 这里写图片描述 响应需要一个客户端凭证
    • 这里写图片描述 响应是一个Server错误
    • 这里写图片描述 会话被客户端、Fiddler或者Server终止

     4.状态面板

    Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。
    Fiddler 将每个 HTTP 请求都作为一个会话(session)保留在左侧的框框中,而你可以通过在QuickExec中输入 Fiddler 的内置命令来轻松地管理这些会话。

    常见得命令有

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

    ?        问号后跟字符串,Fiddler 将所有会话中存在该字符串匹配的全部高亮显示(如?.png 用来选择png后缀的图片) ps:匹配的字符串是 Protocol、Host 和 URL 中的任何子字符串。

    =          等于号后边可以接 HTTP 状态码或 HTTP 方法(如 =200 表示高亮所有正常响应的会话)

    @         @ 后边跟的是 Host

    > 和 <    大于号(>)和小于号(<)后边跟一个数值,表示高亮所有尺寸大于或小于该数值的会话。(如输入 >5k 表示你想高亮所有尺寸大于 5KB 的会话。)

    cls/clear       清屏,清空当前所有请求 (Ctrl+x 也可以清屏)

    select        后边跟响应的类型(Content-Type)(如 select image)

    allbut/keeponly           后边跟响应的类型(Content-Type).将所有无关的会话删除.

    bps         后边跟HTTP状态码,表示中断所有为该状态码的会话。

    bpu       截获request,在发起请求时中断

    bpafter        截获response,是在收到响应后中断

    dump     将所有的会话打包成 .zip 压缩包的形式保存到 C 盘根目录下。

    5.详情和数据统计面板针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。

    (1)Statistic面板 (统计)

    关于HTTP请求的性能和其他数据分析,如DNS解析的时间消耗是0ms,建立TCP/IP连接的时间消耗是7ms等等信息。

      (2)inspector面板

    分为上下两个部分,上半部分是请求头部分Request Headers,下半部分是响应头部分Response Headers。对于每一部分,提供了多种不同格式查看每个请求和响应的内容。

    JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合HTTP标准的请求和响应头。Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。Cookies标签可以看到请求的cookie和响应的set-cookie头信息。

    乱码解决: 访问中文网站(GBK编码)时,在Fiddler的TextView Inspector中显示为“����”,因为Fiddler把它们按照UTF-8解码。

    解决乱码具体步骤:
    1、windows按钮+R
    2、输入regedit +回车+是
    3、HKEY_CURRENT_USERSoftwareMicrosoftFiddler2
    4、右键新建,选字符串值 加上HeaderEncoding 然后值输入 GBK
    5、重启Fiddler

     (3)AutoResponder面板

    可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。

     如截图,就是 将http://blog.csdn.net/ohmygirl的请求拦截到本地的文件a.html。 在浏览器中访问http://blog.csdn.net/ohmygirl ,实际得到的结果是a.html的效果。说明请求已经成功被拦截到本地。同理,可使用Fiddler的内置响应。

    因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

    不仅是单个url,Fiddler支持多种url匹配的方式:

    I. 字符匹配

    如 example可以匹配 http://www.example.com和http://example.com.cn

    II. 完全匹配

    以EXACT开头表示完全匹配,如上边的例子

    EXACT:http://blog.csdn.net/ohmygirl

    III. 正则表达式匹配

    以regex: 开头,使用正则表达式来匹配URL

    如:regex:(?insx).*.(css|js|php)$ 表示匹配所有以css,js,php结尾的请求url

     (4)composer面板

    老版本的fiddler中叫request-builder.顾名思义,可以构建相应的请求,有两种常用的方式构建请求:

    I.Parsed 输入请求的url之后executed即可,也可以修改相应的头信息(如添加常用的accept, host, referrer, cookie,cache-control等头部)后execute.

    这个功能的常见应用是:“刷票”,如刷新页面的访问量

    II. Raw。使用HTTP头部信息构建http请求,达到模拟请求的目的。

     

     (5)Filter面板

    Filter标签则可以设置Fiddler的过滤规则,来达到过滤http请求的目的。

    a. host和zone过滤。可以过滤只显示intranet或则internet的HTTP请求(过滤内网http请求而只抓取internet的http请求)

        也可以选择特定域名的HTTP请求

    b. client process:可以捕获指定进程的请求。这对于调试单个应用的请求很有帮助。

    c. 其他还有.....过滤特定http状态码的请求,过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或则小于指定大小(byte)的请求:

     

     

     ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀ fiddler 抓包分析

    1.打开浏览器

    2.输入测试网址,为了方便查看数据,在右侧设置只监控测试网站的数据,保存。

     3.设置断点有两种方式,一种是在请求前,表示可以修改对服务器请求的数据,一种是在回复后,表示可以修改服务器返回的数据

    4.设置为断点模式后,工具最下方出现红色向下箭头。

      ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀ fiddler做web压力测试

    1、设置filter,只显示需要测试的url。

    2、按F11设置断点。

    3、浏览器打开需要测试的url,可以看到url被fiddler拦截到,并出现在列表中。

    4、在拦截到的url上点击鼠标右键,->replay -> shift+reissue request 设置访问次数,比如100

    5、在列表中出现100条url,点上方的绿色箭头GO图标,开始测试,可以看到请求被发出。

    6、可以查看请求的状态值,返回内容等。

     以上,来源 

     推荐书籍:《Fiddler调试权威指南》

  • 相关阅读:
    python进程监控及恢复
    Linux 命令行工具使用小贴士及技巧 ——(一)
    【未完待续】STP协议详解
    H3C路由交换设备配置的备份与恢复
    Linux小技巧2:如何修改SSH登陆端口
    supervisor error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib64/python2.7/socket.py line: 224
    Route Tools 知识点
    FirewallD常用命令及设置
    循环语句格式
    人脉就是钱脉,培养人脉的106个技巧
  • 原文地址:https://www.cnblogs.com/ericazy/p/7559888.html
Copyright © 2011-2022 走看看