Fiddler 抓包详细使用教程

主要抓包工具介绍与对比

    • (一)Fiddler介绍
    • (二)Fiddler与其他工具对比
    • (三)工作原理
    • (四)下载安装
    • (五)Fiddler界面概述
        • 1 主菜单说明
        • 2. 快捷菜单说明
        • 3.会话列表说明
        • 4. 右侧选项卡
        • 1)Statistics 请求的性能数据分析
        • 2) Inspectors 查看数据内容
        • 3)AutoResponder 重新定向,允许拦截指定规则的请求
        • 4)Composer 自定义请求发送服务器
        • 5)Fiters 请求过滤规则
        • 6)Timeline 请求响应时间
    • (六)pc端浏览器、window软件、手机移动端进行抓包
        • 1)打开Fiddler,进行主要配置
        • 2)配置 Window客户端
        • 3)配置手机移动端抓包

(一)Fiddler介绍

Fiddler 是位于客户端和服务器的HTTP代理,它能记录所有客户端和服务器的HTTP和HTTPS请求响应,进行截获、重发、编辑、转存等操作;
Fiddler 允许监视、设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。

(二)Fiddler与其他工具对比

1、Wireshark :通用抓包工具,抓取信息量庞大,需要过滤才能得到有用信息,只抓HTTP请求有点大财小用。
2、Firebug、HttpWatch等Web调试工具,不够给力,功能欠缺。
3、Charles:建议MAC上使用。
4、Fiddler:是一个HTTP协议调试代理工具;

(三)工作原理

在这里插入图片描述
抓包其中涉及三个角色: 客户端 、 代理、 目标服务器。
Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。Fiddler在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。

正常访问网页或App路径是: 客户端 —> 目标服务器
抓包,其实就加入了一个代理,相当于古代的 媒人 ,客户端 —> 媒人(代理)–>目标服务器
三者如何产生联系呢?

(四)下载安装

https://www.telerik.com/download/fiddler

toast:下载Fiddler要翻墙

(五)Fiddler界面概述

在这里插入图片描述

1 主菜单说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 快捷菜单说明

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.会话列表说明

在这里插入图片描述

名称含义
#抓取HTTP Request的顺序,从1开始,以此递增
ResultHTTP状态码
Protocol请求使用的协议,如HTTP/HTTPS/FTP等
Host请求地址的主机名
URL请求资源的位置
Body该请求的大小
Caching请求的缓存过期时间或者缓存控制值
Content-Type请求响应的类型
Process发送此请求的进程:进程ID
Comments允许用户为此回话添加备注
Custom允许用户设置自定义值

在这里插入图片描述

4. 右侧选项卡

1)Statistics 请求的性能数据分析

在这里插入图片描述

2) Inspectors 查看数据内容

Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容

在这里插入图片描述

名称含义
Headers请求头信息显示为一个分级视图,包含了web客户端信息、Cookie、传输状态等
Textview显示 POST 请求的 body 部分为文本
WebForms显示请求的 GET 参数 和 POST body 内容,特别说明,这里 body 应该是 application/x-www-form-urlen-coded 格式
HexView用十六进制数据显示请求
Auth显示 header 中的 Proxy-Authorization 和 Authorization 信息
WebView用来显示网页
Auth用来认证,一般登录账户密码才会有这个消息
CookiesCookies指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)Cookie 会帮你在网站上所打的文字或是一些选择,都记录下来(类似一些推送,会根据你的浏览记录,给你推送一些计算机认为你需要的东西,所以会存在个人隐私泄露和安全等问题)
Raw将整个请求显示为纯文本,请求的完整信息,这里可以看到请求的方法、地址、路径、协议版本、头信息和参数等
JSONJOSN格式显示
XML如果请求的 body 是 XML 格式,就是用分级的 XML 树来显示它

eg:
在这里插入图片描述

3)AutoResponder 重新定向,允许拦截指定规则的请求

允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应
在这里插入图片描述
在这里插入图片描述

4)Composer 自定义请求发送服务器

允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)
在这里插入图片描述

5)Fiters 请求过滤规则

Fiters 是过滤请求用的,左边的窗口不断的更新各种请求数据,通过过滤规则来过滤掉那些不想看到的请求。

1 )勾选左上角的Use Filters开启过滤器

两个最常用的过滤条件:Zone和Host
Zone 指定只显示内网(Intranet)或互联网(Internet)的内容
Host 指定显示某个域名下的会话
在这里插入图片描述
设置完之后,点击actions–>Run Filterset now就可以过滤出某个域名下的会话
在这里插入图片描述

6)Timeline 请求响应时间

在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

(六)pc端浏览器、window软件、手机移动端进行抓包

1)打开Fiddler,进行主要配置

找到 Tools —> Options, 主要配置 HTTPS,Connections 信息

toast:主要配置勾选好之后,点击确认,第一次配置会出现安装证书的请求,一路点击 是就对了, 配置完毕一定要记得重启Fiddler,否则失效

在这里插入图片描述
Connections 配置,主要是 让手机 或电脑 链接 Fiddler(媒人),默认端口号为:8888
在这里插入图片描述
3)重启Fiddler,或者可以在cmd中ipconfig找到自己的网卡IP
在这里插入图片描述
在这里插入图片描述

2)配置 Window客户端

不择手段让 客户端 链接媒人,和媒人产生联系。
在这里插入图片描述
客户端已经和 Fiddler(媒人)产生一定联系了,已经可以抓取 windows软件 和 IE 了,windows微信中 的小程序也可以抓取。

谷歌 和 火狐浏览器的,他们的代理不像IE自动,需要手动配置他们的代理,这里 我以 谷歌为例。
第一种方式:寻到谷歌 代理配置路径(路径自己百度),配置:127.0.0.1:8888
第二种方式:以上是简单做法,这种需要 翻墙 下载扩展程序(Proxy SwitchyOmega) ,进行配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3)配置手机移动端抓包

1)手机端与PC电脑必须处于同一个网络,可以选择连接同一个wifi,或者手机连接PC的wifi
2)手机打开设置,wifi网络代理IP与端口(代理IP就是上图的IP,端口是Fiddler的代理端口8888)
eg:
在这里插入图片描述
3) 访问网页输入代理IP和端口,下载Fiddler的证书,点击下图FiddlerRoot certificate
在这里插入图片描述
4) 如果打开浏览器碰到类似下面的报错,请打开Fiddler的证书解密模式(Fiddler 设置解密HTTPS的网络数据)
ios:
安装证书:设置–>通用–>描述文件与设备管理–>点击需要安装的证书进行安装
信任证书:设置–>通用–>关于本机–>证书信任设置–>开启需要信任的证书
在这里插入图片描述
5)手机安装完了证书,PC浏览器安装一个二维码插件,访问H5页面,例如https://baidu.com/,手机扫码打开即可。可以用手机访问应用,就可以看到截取到的数据包了。
chrome商店
chrome 二维码插件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何学习微信公众平台的开发?

如何学习微信公众平台的开发? 在整个移动互联网的开发技术中,微信公众号的开发几乎是成本最低,传播最快,影响最广的,你几乎不需要再添加任何配置,就可以开始。 个人可以申请公众号,需要高级权限…

买房攻略整理

买房需谨慎(一) 买房动机(你属于哪一种?)(二) 买房心得(没了解这些,你就敢买房?)1 城市的选择2 首付3 房子区域选择4 小区选择5 户型选择(三)买房需谨慎(先了…

pom.xml配置文件配置jar(不用记,快速配置)

1:网址:http://mvnrepository.com/ 2:在搜索栏搜索要用的框架;例如spring *以下为示例 转载于:https://www.cnblogs.com/kaiwen/p/6545581.html

【转】C++ Vector用法深入剖析

标准库Vector类型 使用需要的头文件&#xff1a; #include <vector> Vector&#xff1a;Vector 是一个类模板。不是一种数据类型。 Vector<int>是一种数据类型。 一、 定义和初始化 Vector<T> v1; //默认构造函数v1为空 Vector<T> v2(v1);//v2是v1的一…

【数据结构1-2】P5076 普通二叉树(简化版)(c++,multiset做法)

文章目录 一、题目【深基16.例7】普通二叉树&#xff08;简化版&#xff09;题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1基本思路&#xff1a; 一、题目 【深基16.例7】普通二叉树&#xff08;简化版&#xff09; 题目描述 您需要写一种数据结构&#xff0c;来维…

C++ ASSERT() 断言机制

C ASSERT() 断言机制 ASSERT()是一个调试程序时经常使用的宏&#xff0c;在程序运行时它计算括号内的表达式&#xff0c;如果表达式为FALSE (0), 程序将报告错误&#xff0c;并终止执行。如果表达式不为0&#xff0c;则继续执行后面的语句。这个宏通常原来判断程序中是否出现了…

HTML中各种 div 位置距离关系

HTML中各种 div 位置距离关系一. 盒模型图片展示&#xff1a;二. 位置距离计算属性三. 应用场景一. 盒模型图片展示&#xff1a; 二. 位置距离计算属性 offsetWidth, offsetHeight 获取盒子的宽度/高度&#xff08;包括盒子的border&#xff0c;padding和内容width/height&…

Docker运行操作系统环境(BusyBoxAlpineDebian/UbuntuCentOS/Fedora)

目前常用的Linux发行版主要包括Debian/Ubuntu系列和CentOS/Fedora系列。前者以自带软件包版本较新而出名&#xff1b;后者则宣称运行更稳定一些。选择哪个操作系统取决于读者的具体需求。同时&#xff0c;社区还推出了完全基于Docker的Linux发行版CoreOS。 使用Docker&#xff…

poj1681 Painter's Problem高斯消元

链接http://poj.org/problem?id1681 View Code 1 #include <stdio.h> 2 #include <string.h>3 #include <algorithm>4 #include <cmath>5 using namespace std;6 int d[230][230], N, M;7 char s[16][16]; 8 void solve( int n)9 { 10 int x[230…

Mac下关于-您不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。-的删除...

打开 Terminal 应用程序。键入&#xff1a; sudo rm -rf注意&#xff1a;在“-rf”后键入一个空格。没有空格该命令将不能执行。在步骤 6 之前请不要按下 Return 键。打开您的“废纸篓”。从“编辑”菜单中选择“全选”。将“废纸篓”中的所有内容都拖到 Terminal 窗口中。这将…

小程序、vue 新闻上下轮播

小程序、vue 新闻上下轮播vue小程序红色部分&#xff1a;相当于放映机&#xff0c;也就是容器&#xff0c;overflow&#xff1a;hidden绿色内容&#xff1a;相当于胶片&#xff0c;也就是domvue vue的核心之一&#xff0c;数据驱动模版&#xff0c;循环播放映射的数据上就是 […

Cogs 376. [IOI2002]任务安排(后效性DP)

[IOI2002]任务安排 ★☆ 输入文件&#xff1a;batch.in 输出文件&#xff1a;batch.out 简单对比 时间限制&#xff1a;1 s 内存限制&#xff1a;128 MB N个任务排成一个序列在一台机器上等待完成&#xff08;顺序不得改变&#xff09;&#xff0c;这N个任务被分成若干批&am…

ajax.actionlink使用问题

突然发现ajax.actionlink调用的方法全是GET方式的&#xff0c;就算制定了POST也不行&#xff0c;Confirm窗口也弹不出来。。。直接StackOverFlow搜索 ajax.actionlink post not work, 出来一堆结果&#xff0c;有的是因为路由参数不对&#xff0c;有的是回调方法不对&#xff…

JAVA Stack栈和Heap堆的区别(转)

首先分清楚Stack&#xff0c;Heap的中文翻译&#xff1a;Stack—栈&#xff0c;Heap—堆。在中文里&#xff0c;Stack可以翻译为“堆栈”&#xff0c;所以我直接查找了计算机术语里面堆和栈开头的词语&#xff1a;堆存储&#xff1a; heapstorage 堆存储分配&#xff1a; he…

CSDN Markdown编辑器编辑教程

目录快捷键文字样式设置&#xff08;字体, 大小, 颜色, 高亮底色&#xff09;内嵌HTML表格定义列表代码块脚注数学公式UML 图:离线写博客常见颜色[TOC](目录)快捷键 - 加粗 Ctrl B - 斜体 Ctrl I - 引用 Ctrl Q- 插入链接 Ctrl L- 插入代码 Ctrl K- 插入图…

一个奇怪的EL表达式错误

下图是在Struts2的action中写的一个方法 JSP页面代码如下&#xff1a; 在页面访问如下路径&#xff1a;http://localhost:8088/maven_ssh/cust_getCustList 目前推测原因是存到session中的对象键值"custList"和action中方法名getCustList冲突了&#xff1f; 各位怎么…

Ruby 数组

city["北京","上海","天津","重庆"]puts citycityArray.newcity[0]"北京"city[1]"上海"city[2]"天津"city[3]"重庆"puts city city["北京","上海","天津",&qu…

(转) java 复制文件,不使用输出流复制,高效率,文件通道的方式复制文件

public static void fileChannelCopy(File s, File t) {FileInputStream fi null;FileOutputStream fo null;FileChannel in null;FileChannel out null;try {fi new FileInputStream(s);fo new FileOutputStream(t);in fi.getChannel();// 得到对应的文件通道out fo.g…

Mysql中的in和find_in_set的区别?

在mysql中in的使用情况如下&#xff1a; select * from article where 列名 in(值1&#xff0c;值2&#xff0c;值3.....)&#xff1b; select * from article where 值1 in(值1&#xff0c;值2&#xff0c;值3.....)&#xff1b; 在mysql中find_in_set的使用情况如下&#xff…

Vue组件强制刷新(重新渲染)的四种方案对比

文章目录前言一、刷新整个页面二、使用v-if标记三、forceUpdate四、key-changing五、应用场景vue具有缓存的页面的强制刷新进入页面输入框自动聚焦前言 Vue的双向绑定属于自动档&#xff1b;在特定的情况下&#xff0c;需要手动触发“刷新”操作&#xff0c;目前有四种方案可以…