文章目录

  • 一、简介
  • 二、工作原理
  • 三、Fiddler界面
  • 四、HTTP协议介绍
  • 五、Fiddler抓包解析
  • 六、应用

一、简介

    Fiddler 是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用 .net语言进行扩展。
    你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议,Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

不多说了,直接上才艺

二、工作原理

    Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。
解决的办法是重新启动下Fiddler

接下来继续我们的主题

三、Fiddler界面

四、HTTP协议介绍

HTTP协议之请求:http请求由三部分组成,分别是:请求行、消息报头、请求正文请求方法(所有方法全为大写)有多种,各个方法的解释如下:

GET:请求获取Request-URI所标识的资源
POST:在Request-URI所标识的资源后附加新的数据
HEAD:请求获取由Request-URI所标识的资源的响应消息报头
PUT:请求服务器存储一个资源,并用Request-URI作为其标识
DELETE:请求服务器删除Request-URI所标识的资源
TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT:保留将来使用
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求应用举例:

GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET 方法向服务器获取资源,(eg:GET /form.html HTTP/1.1 (CRLF))
POST方法:要求被请求服务器接受附在请求后面的数据,常用于提交表单。
HTTP协议之响应:在接收和解释请求消息后,服务器返回一个HTTP响应消息。
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求常见状态代码、状态描述
说明:
200 OK:客户端请求成功
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:请求资源不存在,eg:输入了错误的URL
500 Internal Server Error:服务器发生不可预期的错误
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常

五、Fiddler抓包解析

1、使用fiddler抓包后,会话列表各项内容展示如下图:

#:HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增
Result:HTTP响应的状态    Protocol:请求使用的协议(如HTTP/HTTPS)
HOST:请求地址的域名    URL:请求的服务器路径和文件名,也包含GET参数
BODY:请求的大小,以byte为单位    Content-Type:请求响应的类型
Caching:请求的缓存过期时间或缓存控制header的值
Process:发出此请求的Windows进程及进程ID
Comments :用户通过脚本或者菜单给此session增加的备注 custom:用户可以通过脚本设置的自定义值

2、Fiddler右侧面板使用介绍
Statistics页签:
    通过该页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。
  选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化
  
inspectors页签:
    它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request展示,下部分为HTTP Response展示

AutoResponse页签:
    Fiddler最实用的功能,它可以抓取在线页面保存到本地进行调试,大大减少了在线调试的困难,可以让我们修改服务器端返回的数据,例如让返回都是HTTP404 或者读取本地文件作为返回内容。

composer页签:
    支持手动构建和发送HTTP,HTTPS和FTP请求,我们还可以从web session列表中拖曳session,把它放到composer选项卡中,当我们点击Execute按钮,把请求发送到服务器端。

log页签:打印日志

Filters页签:
    过滤器可以对左侧的数据流列表进行过滤,我们可以标记、修改或隐藏某些特征的数据流。

Timeline页签:
    时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴,用图表的形式展现出来,就形成了瀑布图。在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。
常见得命令有:
help:打开官方的使用页面介绍,所有的命令都会列出来
cls:清屏 (Ctrl+x 也可以清屏)
select:选择会话的命令,选择所有相应类型,select image select css select html
?sometext:查找字符串并高亮显示查找到的会话列表的条目
>size:选择请求响应大小小于size字节的会话
=status/=method/@host:查找状态、方法、主机相对应的session会话 quit:退出fiddler

Bpafter, Bps, bpv, bpm, bpu
这几个命令主要用于批量设置断点
Bpafter xxx:中断 URL 包含指定字符的全部 session 响应
Bps xxx:中断 HTTP 响应状态为指定字符的全部 session 响应
Bpv xxx:中断指定请求方式的全部 session 响应
Bpm xxx:中断指定请求方式的全部 session 响应。等同于bpv xxx Bpu xxx:与bpafter类似

六、应用

1、手机抓包
①启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框

②在“Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮

③在本机命令行输入:ipconfig,找到本机的ip地址。

④打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”

⑤在 “代理” 后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入0框输入8888,然后点击“保存”按钮

⑥然后启动android设备中的浏览器,访问百度的首页,在fiddler中可以看到完成的请求和响应数据
备注:如果是Android模拟器中ip要填写10.0.2.2,genymotion模拟器中ip要填写:10.0.3.2,端口就是burp或者fiddler监听的端口

2、过滤功能
1.选择Filters页签,勾选use Filters
2.勾选 Request Headers 中的 Hide if url contains 过滤项,在里面输入:
REGEX:(?insx)/[^\?/]*\.(css|ico|jpg|png|gif|bmp|wav)(\?.*)?$
REGEX:表示启用正则表达式
(?insx) 设置正则解释的规则, 忽略大小写等.
此表达式表示过滤掉 url 中包括 css, ico, jpg 等后缀的请求

勾选 Request Headers 中的show only if URL contains,在里面输入REGEX:(?insx).*\.?baidu.com/home.*    表示只显示:baidu.com/Home

Fiddler过滤指定域名
第二个选项是只监控以下网址,如只监控百度,在下面的输入框里填上 www.baidu.com
“No Host Filter”:不设置hosts过滤
“Hide The Following Hosts”:隐藏过滤到的域名
“Show Only The Following Hosts”:只显示过滤到的域名
“Flag The Following Hosts”:标记过滤到的域名


fiddler抓包教程------详细相关推荐

  1. python读取fiddler_大数据采集之python的docker爬虫技术-fiddler抓包软件详细配置(7)...

    本篇文章探讨了大数据采集之python的docker爬虫技术-fiddler抓包软件详细配置(7),希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 挑选常用的功能给各位老铁介绍下 ...

  2. fiddler抓包教程,如何抓取HTTPS请求,详细教程

    一.Fiddler是什么? Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle ...

  3. 全网最全Fiddler抓包教程,超过十万人学习此教程!

    零基础玩转Fiddler抓包在测试领域应用实战! 各位做测试的同学想必对抓包工具fiddler并不陌生,但是很多同学可能没有总结过它的用法,下面我总结了fiddler一些常用的用法. Web端抓包配置 ...

  4. 【转】Fiddler抓包教程

    Fiddler简介 简单地讲就是一个抓包工具,或者是叫做网络嗅探器,把网络传输的数据抓取下来进行分析.Debug. 它可以对常用的浏览器:IE.Chrome.Firefox.Safari 等进行抓包, ...

  5. 拿捏Fiddler抓包教程(10)-Fiddler如何设置捕获Firefox浏览器的Https会话

    1.简介 经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会 ...

  6. 十五、Fiddler抓包工具详细教程 — Fiddler抓包HTTPS请求(二)

    ###文章内容有配套的学习视频和笔记都放在了文章末尾### 5.查看证书是否安装成功 方式一: 点击Tools菜单 -> Options... -> HTTPS -> Actions ...

  7. Fiddler抓包工具详细介绍

    本文转自:http://www.cnblogs.com/Chilam007/p/6985379.html 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请 ...

  8. python抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...

    挑选常用的功能给各位老铁介绍下. fiddler第一次进入fiddlerfiddler会请求fiddler的官网,检查更新操作布局分布 工具栏File -capture traffic开启爬虫File ...

  9. python爬虫抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...

    挑选常用的功能给各位老铁介绍下. fiddler 第一次进入fiddler fiddler会请求fiddler的官网,检查更新操作 布局分布 工具栏 File -capture traffic 开启爬 ...

最新文章

  1. Linux 上 12 个高效的文本过滤命令
  2. SQL优化常用方法49
  3. ISA Server实验环境搭建与企业×××配置
  4. webpack 3.1 升级webpack 4.0
  5. 使用TortoiseGit,设置ssh方式连接git仓库
  6. python连接MySQL数据库搭建简易博客
  7. Dcloud+mui 压缩上传图片到服务器
  8. 折半查找和二叉排序树的时间性能_详解二叉排序树(基础篇)
  9. 使用PyQt4和twisted写的局域网聊天室(2)
  10. ue4 如何获取端口号_尝试在UE4.22中实现罪恶装备Xrd的卡通渲染
  11. 与 HarmonyOS 拼速度?谷歌正式推出 Fuchsia OS!
  12. 湖北汽车工业学院校园导游咨询与最短路径
  13. Windows使用MinGW编译ffmpeg
  14. elasticsearch查询关键字slop
  15. android服务无法启动,Android服务无法启动(Android service would't start)
  16. HLK-B36 WIFI/BLE 二合一透传沙雕按键说明
  17. MPLS之LDP的工作原理和配置
  18. 微信输入法语音转文字设计点
  19. Qt Quick 3D模块初探
  20. [UWP]使用离散式关键帧播放动画

热门文章

  1. C#联合halcon开发框架源码
  2. Matlab预测人口
  3. 盘古越狱工具在用户空间的行为
  4. 利用工具实现关键词快速挖掘
  5. K8S,k3s 分布式存储:rook-ceph or Longhorn
  6. 没在路边改过代码的程序员,不足以谈人生
  7. 《ClickHouse 实战:企业级大数据分析》
  8. 五年级下册语文电子计算机,语文五年级下册选读课文教案 5.电子计算机与多媒体...
  9. openssl 读状态机
  10. 总结了近百个Android优秀开源项目,覆盖Android开发的每个领域