zoukankan      html  css  js  c++  java
  • Fiddler 教程

    Fiddler的基本介绍
    Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展
      你对HTTP协议越了解,你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
    Fiddler的安装
    在官网选择FreeDowanload 下载
     
    在下载页面中选择window或者linux版本下载(推荐使用window版本,Linux版本bug很多),下载完成后直接解压即可。
    如果是window版本可能需要安装,安装完成在目录中找到Fiddler.exe,点击打开。
    如果是linux版本可能需要先行安装sudo apt-get install mono-complete。安装完成后直接在Fiddler.exe目录下打开cmd输入mono Fiddler.exe。
    Fiddler工具打开后是这样的:
     
    Fiddler的工作原理
      Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
    Fiddler如何捕获Firefox的会话
    能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。
     
    演示web上如何抓包
    首先我们需要确定一下配置的端口,一般情况下我们是不需要修改端口的。但是,端口的修改是工具的重要部分,所以我们还是有必要了解一下。在菜单栏中找到Tools-Options...,点击打开。
     
    打开后会弹出这个窗口,我们在窗口的选项卡上选择Connections,在里面我们可以看到端口默认为8888,如果你有特殊需求可以重新修改这个端口(建议从9000-10000之间设定自定义端口,过低的端口系统会经常占用),一般情况下我们没有必要修改这个端口,因为8888端口默认是分配给http的。
    然后,我们需要确定浏览器上的端口配置。一般情况下,浏览器的端口是不需要配置,就可以抓包了。但是如果你无法抓包到就要重新设置浏览器的端口。我们拿火狐浏览器为例子:在火狐浏览器中,点击更多图标,选择“首选项”,点击进入。进入后我们选择“常规”,拉到最下面可以看到“网络设置”,点击“设置”。
     
    进入设置界面后,我们可以切换到“手动代理配置”。输入127.0.0.1,并且在端口后面输入8888。(这个需要跟你刚才在Fiddler工具上看到的端口号一致)127.0.0.1这个ip地址通常是默认的ip地址。如果这个ip地址设置后依然无法抓包可以试试输入本机的ip地址。
    接着,我们在工具菜单栏里选择”File“,勾选”Capture
    Traffic“(不需要抓包则可以取消勾选),我们就可以在浏览器里浏览网页了,在工具里会自动抓包。成功抓包后,在工具界面里会出现请求的http接口。
    演示手机设备如何抓包
    在web上抓包其实意义不是很大,因为现在的浏览器大多提供开发者工具。你可以在开发者工具里查看大量的http接口信息。但是web上抓包还是有拦截、重发、修改http请求的意义。
    而在手机上抓包则更有实际意义,因为手机上暂时没有显示接口信息的工具。想知道手机上发出的http请求,只能依靠抓包工具。
    首先,我们需要再次配置一下Fiddler工具,在菜单栏里找到Tools-Options...,点击打开。
    勾选Allow remote computers to connect ,点击ok保存。
    接下来我们需要让手机连上WiFi,但是注意!手机的WiFi与PC的网络必需是一个局域网下的。连上WiFi后,在WiFi界面长按已经连接的WiFi,会弹出一个小窗口里面有“修改网络”,点击进入。(个别手机是在WiFi旁边直接有个一个设置小图标)
    在WiFi的设置界面里,找到“高级选项”,设置代理为“手动”。会多出“代理服务器主机名”与“代理服务器端口”。
    “代理服务器主机名”我们需要输入电脑的IP地址,打开cmd输入ifconfig。
    可以看到我的电脑的ip地址为192.168.1.91,在这个“代理服务器主机名”,请输入你的电脑ip地址。
    “代理服务器端口”与Fiddler工具的端口一致,输入8888即可。
    接着,我们在工具菜单栏里选择”File“,勾选”Capture
    Traffic“(不需要抓包则可以取消勾选),这个时候我们,就可以进入手机的浏览器浏览网页,并且可以在工具里查看到http的抓包信息了。
     
    如果这个时候出现了安全认证的问题导致无法上网。我们需要在手机里打开浏览器输入你的ip地址加端口号,例:192.168.1.91:8888.
    进入到这个网页,点击最下面标蓝的FiddlerRoot certificate,下载认证凭证书,下载完成后点击认证凭证书安装即可。
    了解Fiddler各项菜单功能与数据
    视图功能区域
    会话的概念:一次请求和一次相应就是一个会话。
    了解快捷功能区菜单
    • 给会话添加备注信息
    • 重新加载当前会话
    • 删除会话选项
    • 给断点的http请求放行(后续会说明如何断点)
    • 响应模式。也即是,当Fiddler拿到远程的response后是缓存起来一次响应给客户端还是以stream的方式直接响应。
    • 解码,有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码。
    • 设置在界面中显示会话的最大数量
    • 查找会话
    • 保存会话
    • 截图功能,截取的图,会在会话列表信息里出现,点击保存即可。
    • 计时器功能,可以用来快速的计时。
    • 文本的编码格式转换工具。
    • 将右侧的会话详情栏分开
    会话列表栏介绍
    显示每个会话的大致信息。
     
    列说明
    图标说明
    会话详情栏介绍
    Statistics统计
    统计会话的一些时间信息,可以按ctrl选取多个会话一起统计查看。
    Inspectors详情
    大部分时候只需要关注Raw与JSON,上半部为请求部分,下半部为响应部分。可以根据实际需要查看红色框内的子选项内容。 Raw会提供完整的请求报头与响应报头信息 JSON公司的http接口数据大部分都是用JSON封装传递的,所以重点查看此部分的数据。
     
    断点请求/响应
     
    如图,箭头所指的位置时可以点击的。共三种状态:
    1. 空白:不设置断点。
    1. 箭头向上:表示断点请求。此时客户端的请求是无法直接到达目标服务器的,需要手动控制。
    1. 箭头向下:表示断点响应。此时目标服务器的响应是无法直接到达客户端的,需要手动控制。
    断点请求并修改
    修改请求如图,操作步骤:
    1. 设置断点请求,手机端访问接口
    1. 点击对应的会话
    1. 查看请求报文信息
    1. 修改请求内容
    1. 完成断点,放行,把该请求发送给目标服务器。
     
     
    断点响应并修改
    和断点请求操作类似,只是在响应区域修改报文信息即可。
    在断点响应时,请注意超时时间。
    过滤会话
    有时候http请求响应太多,我们不需要看到一些不关注的请求与响应。这个时候我们就需要使用过滤功能
     
     
     
  • 相关阅读:
    DPK880 打印机 驱动正确安装不反应。
    VB6.0 获取N位有效数字方法
    Asp.Net开发小技巧汇总
    Microsoft SqlServer生成表数据Insert语句
    dell 服务器重装
    编程应该注意
    FIRST
    SharedObject使用:在FluorineFx.net与Flex中使用共享对象维护在线用户列表实例
    Flex与As3学习笔记之:Part 3 函数参数、字符串处理、日期与时间类型
    Flex与As3学习笔记之:Part 1 Flex语言基础
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/9963189.html
Copyright © 2011-2022 走看看