热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Fiddler抓包浅析(一)

Fiddler工具浅析Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的HTTP抓包工具之一。(MacOS建议采用Charles&#x

Fiddler 工具浅析

Fiddler 是位于客户端和服务器端的 HTTP 代理,也是目前最常用的 HTTP 抓包工具之一。(Mac OS 建议采用 Charles)

它可以记录客户端和服务器之间的所有 HTTP 请求,并可以针对特定的 HTTP 请求,分析请求数据、设置断点、调试 web 应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是 web 调试和网络请求分析的利器。

Fiddler 作为一个代理,自然客户端的所有请求都会先经过它,再转发给相应的服务器。反之,服务器端的所有响应,也都会先经过 Fiddler 然后发送给客户端。所以,Fiddler 支持所有可以设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序。

Fiddler 界面解析

我们不妨直接看到 Fiddler 的界面,可以看到很多不错的东西。


这里是大概的主界面,由于内容涵盖还是比较多,所以我们分块解析。

Web Session 面板区域

web session 面板区域主要包含了每条 HTTP 请求(每一条称为 session),主要包含了请求的 url,状态码,body 等信息。

  • #
    HTTP Request 的顺序,从 1 开始,按照页面加载请求的顺序递增。其中序列号列中一般还有图标,代表不同的响应类型。具体类型包括:


    图片来源于网络
  • Result
    HTTP 响应的状态。状态码解析请参考专业的 HTTP 书籍。

  • Protocol
    请求使用的协议,如 HTTP/HTTPS/FTP 等。

  • Host
    请求地址域名。

  • URL
    请求的服务器路径和文件名,也包括 GET 参数。

  • Body
    请求的大小,单位为 byte。

  • Caching
    请求的缓存过期时间或缓存控制 header 等值。

  • Content-Type
    请求响应的类型(Content-Type)

  • Process
    发出此请求的进程及进程 ID。

  • Comments
    用户通过脚本或者右键菜单给此 session 增加的备注。

  • Custom
    用户可以通过脚本设置的自定义值。

详情和数据面板区域

该区域基本是我们必须关注的点,我们可以在这个区域看到每条 HTTP 请求的具体数据统计和数据包分析。其中的 inspector 面板下的数据往往最受我们的重视。

  • inspector


这里可以看到我们请求的诸多数据,由于时间关系,我们也就仅拿出其中的 Header 部分做讲解,其他部分同理。

上面的 Header 中包含了我们常见的请求头,比如客户端的设备相关信息、COOKIEs、连接状态。

下面是我们的响应头 Header,同时也包含了响应时间、过期时间、响应格式、数据包大小、连接状态等。

  • Composer


我们经常在做一些接口测试的需要做一些骚操作,比如上传文件等,这个完全不像 GET 请求那般可以直接带上我们的参数在浏览器访问。这时候我们又不想去写一个脚本。好伙计,Composer 正好满足了我们的需求。

正如截图中样式,我们可以设置请求方式、请求地址,参数、甚至是上传文件等,这一些请求我们都可以模拟。

不得不感叹,确实黑科技。

一些其他菜单说明

  • Filters 强大的过滤机制
    Fiddler 支持域名过滤,只需要在 Filters 里面设置即可。


过滤条件涵盖非常广泛,比如过滤特定 HTTP 状态码的请求、特定请求类型的 HTTP 请求等,更多的过滤方式还需要大家自己去挖掘。

  • 选择抓取区域



    可以选择是否支持 HTTPS,选择是否抓取所有进程的请求,还是仅仅浏览器的请求,抑或是仅仅远程设备的请求,功能都是非常强大的。

一些必备的处理

  • 对于 Web 抓包
    要想抓包到相应的数据,必须设置浏览器代理为 127.0.0.1:8888,否则无法捕获到 HTTP 请求。


  • 对于 HTTPS 的支持
    默认情况下,Fiddler 是不支持直接查看 HTTPS 请求的,我们必须在设备上安装它的证书。

这里姑且直接以抓取 Android 手机的 HTTPS 请求做示例。

  1. 首先设置 Fiddler。打开工具栏 => Tools => Fiddler Options => HTTPS


  2. 导出证书到手机。


  3. 直接在手机端安装。
    在手机上安装证书这个操作,太多机型了,都不太一样,姑且大家自行百度。




推荐阅读
  • Chrome浏览器非常强大,使用Chrome浏览器对页面性能进行检测,根据测试的结果进行优化。当然这个结果只是参考,在实际的项目中肯定有特殊情况存在,并不能为了满足某项测试结果而忽略特定情况的存在。1 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • AFNetwork框架(零)使用NSURLSession进行网络请求
    本文介绍了AFNetwork框架中使用NSURLSession进行网络请求的方法,包括NSURLSession的配置、请求的创建和执行等步骤。同时还介绍了NSURLSessionDelegate和NSURLSessionConfiguration的相关内容。通过本文可以了解到AFNetwork框架中使用NSURLSession进行网络请求的基本流程和注意事项。 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • HTTP协议相关的网络经典五层模型
    网络通信相关概念的讲解–网络协议分层(经典五层模型)在我们了解HTTP相关内容之前我们先来了解一下“网络协议分层”相关内容,因为这个是我们了解HTTP相关内容的前提条件;大家有一 ... [详细]
  • 本人新手,用Unity3D想做一个简单的赛车游戏,现在的问题是转弯的时候很容易出现翻车的情况,求解决思路比如说你的中心是在(0,0,0),你把他设置成(0,-1.0,0)之类的就可 ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • TCP/IP详解 卷1 第一章概述
    第一章概述1.2分层网络编程通常分不同层次进行开发,每一层负责不同的通信功能。一个协议族比如TCPIP,通常是一组不同层次上多个协议的组合。一般可以认为 ... [详细]
  • 【MyBatis系列7】原来SqlSession只是个甩手掌柜,真正干活的却是Executor等四大对象
    Executor原理分析前言MyBatis架构分层ExecutorBaseExecutorSimpleExecutorReuseExecutorBatchExecutor三种常用批 ... [详细]
  • RHEL5.7下的DNS服务器配置
    RHEL5下的DNS,其实说简单也不简单,说复杂也不复杂,只是相对RHEL4的DNS文件位置差异较大,让人一时摸不着头脑。不 ... [详细]
  • yii框架目录结构详细分析说明
    php教程|php手册yii,目录结构php教程-php手册yii框架目录结构详细分析说明猫狗大战源码,华为云电脑ubuntu,梦见放走很多爬虫,parttmpphp,seo页面描 ... [详细]
  • smarty(模板引擎,模板技术)使用smarty主要是为了实现逻辑和外在内容的分离;特点:1、速度快 ... [详细]
author-avatar
123sdf87_768
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有