Fiddler Orchestra用户指南:打造高效协同调试利器

引言:今天Fiddler更新到5.0版本后,小酋不经意间晃到了“Fiddler Orchestra”选项卡。爱折腾的小酋赶紧链接到官方用户指南一睹为快,看看这是什么东西,实现了什么新功能。下面是小酋看后做的一个翻译抢先版。

这是了解和设置Fiddler Orchestra的指南,这是Fiddler Web调试器的新口味(老外真会玩,口味一词用得好!)。请注意,该指南在Fiddler 5.0中是准确的。

什么是Fiddler Orchestra?

Fiddler Orchestra是世界著名的Fiddler Web调试器的新口味,它提供远程调试和Web UI。了解更多关于Fiddler Orchestra。

Fiddler Orchestra结构概述

Fiddler Orchestra涉及两个角色——控制器(Controller)和客户端(Client)。控制器的收集数据和控制任何一个客户端。客户端向任何数量的控制器报告数据并接收命令。只有控制器保持端口打开并接受来自客户端的传入连接。所有客户端控制器通信都是加密的。

Fiddler Orchestra第一个版本

Fiddler Orchestra的第一个版本包装在(WinForms)Fiddler 5.0中,由Fiddler 5.0中的Fiddler Orchestra .NET Core Clients和Fiddler Orchestra Controller组成。.NET Core客户端可以在MAC,Linux和Windows上运行。

在第一个版本中,Orchestra Controller只能在第一版中收集数据。它缺乏任何客户端控制功能。.NET Core客户端只能连接到此版本中的单个控制器。

要求(自Fiddler 5.0起)

Fiddler Orchestra在多个平台上运行,但其大部分代码都是平台不可知的。也就是说,在所有平台上都会运行相同的代码并进行非常小的更改。既然如此,Fiddler Orchestra的核心就是编译为.NET Standard 2.0程序集。因此,Fiddler Orchestra客户端和控制器只能运行在至少支持.NET Standard 2.0的框架上。在撰写本文时,这些是:

.NET Framework 4.6.1

.NET Core 2.0

Xamarin.iOS 10.14

Xamarin.Android 7.5

在撰写本文时,只有WinForms Fiddler可以是Orchestra控制器。但是,该功能仅适用于安装.NET 4.6.1或更高版本的机器。

安装

在Fiddler Orchestra .NET Core Client和WinForms Fiddler Orchestra Controller(在撰写本文时,唯一可用的Orchestra控制器)之间建立连接有两个步骤。实质上,必须先将控制器设置为先接受连接(即先启动Controller),然后再设置客户端以连接到控制器。

设置WinForms Fiddler Orchestra控制器

在WinForms Fiddler 5.0中,有一个新的Fiddler Orchestra选项卡:

这是Orchestra控制器配置的起点。它只需要一个端口和一个私钥来启动一个控制器。该端口必须打开以进行外部连接,以便Orchestra客户端可以连接。私钥用于加密与客户端的通信。客户端必须具有相同的私钥才能连接到此控制器。私钥只能在控制器停止时重新生成。

设置.NET Core Fiddler Orchestra客户端(在MAC,Linux,Windows等上)

背景

.NET Core Fiddler Orchestra Client具有内置的完整Fiddler功能。不幸的是,在写这篇文章的时候,这些都隐藏在一个非常有限的Web UI之后,它只允许设置Fiddler来捕获流量并建立到Fiddler Orchestra控制器的连接。

.NET Core Fiddler Orchestra客户端通过充当代理,就像老式的WinForms Fiddler一样充当代理。然而,WinForms Fiddler通过在Windows启动时自动将自身设置为系统代理来隐藏此代理行为,即用户不仅不必执行任何手动代理设置,而且可能甚至不会意识到Fiddler充当代理。

在撰写本文时,Fiddler Orchestra Client没有自动代理设置功能。因此,用户必须负责代理设置,即用户必须在启动时手动更改浏览器或任何其他应用程序的设置以指向Fiddler Orchestra客户端代理,然后在退出时恢复设置。在未来的Fiddler Orchestra版本中,用户将能够提供一个脚本来执行该操作,该脚本将在启动时自动执行。

安装

.NET Core Fiddler Orchestra客户端二进制文件来自于WinForms Fiddler 5.0。在Fiddler 5.0的Fiddler Orchestra选项卡上提供了一个方便的快捷方式,如下所示。

在撰写本文时,.NET Core Fiddler Orchestra Client是一款普通的ASP .NET Core应用程序。所以,它的启动很简单:

此时,Web用户界面已启动并在http://localhost:8800上运行,并且任何HTTP/HTTPS代理/反向代理组合都可以启动以捕获流量。还可以建立与Fiddler Orchestra Controller的连接,并且任何通过任何代理的流量都将报告给连接的控制器。

下面是代理和Orchestra连接配置的更详细视图。

代理页面

主页是HTTP / HTTPS代理设置页面。

代理设置与WinForms Fiddler中的相同。

Decrypt HTTPS可以通过代理实现MITM HTTPS流量解密。在提到MITM之后,值得一提的是,除非已经通过HTTPS根证书选项卡创建或上传HTTPS根证书,否则HTTPS流量解密将不起作用。

除非选中“Allow remote clients to connect”,否则代理服务器将仅接受来自正在运行的计算机的连接。

Use upstream gateway:指定上游网关允许所有传出流量通过另一个代理进行传输。

HTTP反向代理页面

反向代理允许拦截正在运行的机器的传入流量。通常会使用反向代理来拦截到Web服务器,Web服务等的传入流量。

反向代理将自己定位在web服务器/ web服务及其客户端之间。所以,所有请求都会先到达反向代理,然后将它们重定向到实际的接受者。

“监听端口”设置指定反向代理将预期传入流量到达的端口。“主机侦听端口”设置指定原始Web服务器/ Web服务侦听的端口。反向代理会将“Listen on port”上收到的任何流量重定向到“Host listen on port”。

除非选中“Allow remote clients to connect”,否则代理服务器将仅接受来自正在运行的计算机的连接。由于这在反向代理设置中很少有用,所以默认情况下选中该选项。

HTTPS反向代理

HTTPS反向代理遵循与HTTP反向代理相同的逻辑。唯一添加的设置是主机名。将生成该主机名下的证书并使用HTTPS根证书选项卡中提供/生成的根证书进行签名。该证书将被HTTPS反向代理用于加密对传入请求的响应。

因此,发送请求的客户端应该信任在HTTPS根证书选项卡中提供/生成的根证书。代理服务器/ web服务使用的实际证书被反向代理使用在技术上是可行的,但在编写本功能时尚未实现。

HTTPS根证书

HTTPS根证书的存在是运行HTTPS(反向)代理的先决条件。现有证书可以上传或者可以生成新证书。

生成的证书文件可能受密码保护。还可以为生成的证书添加别名。

Orchestra连接

Orchestra Connection选项卡允许建立到Fiddler Orchestra控制器的连接。控制器应该在尝试连接之前运行。

连接设置很简单。控制器的IP地址和端口是必需的。Controller设置为使用特定的私钥对流量进行加密。还应该提供私钥(可以从WinForms Fiddler Orchestra Controller设置选项卡复制)。

最后,过滤Fiddler Orchestra配置流量将阻止Fiddler Orchestra Web客户端流量发送到控制器并在那里显示。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

《 新手》web前端(axios)后端(java-springboot)对接简解

文章目录 <font color red>1.何为前后端对接?2.对接中关于http的关键点2.1. 请求方法2.2. 请求参数设置简解&#xff1a; 3.对接中的跨域(CROS)问题**为什么后端处理跨域尽量在业务之前进行&#xff1f;**3.总结 1.何为前后端对接? “前后端对接” 是指前端和后端两个…

ElementUI实现增删改功能以及表单验证

目录 前言 BookList.vue action.js 展示效果 前言 本篇还是在之前的基础上&#xff0c;继续完善功能。上一篇完成了数据表格的查询&#xff0c;这一篇完善增删改&#xff0c;以及表单验证。 BookList.vue <template><div class"books" style"pa…

picoctf_2018_can_you_gets_me

picoctf_2018_can_you_gets_me Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000)32位&#xff0c;只开了NX 拿到这么大的程序&#xff0c;直接ROPchain看看 #!/usr/bin/env python2# execve …

低代码工作流程管理系统:提升企业运营效率的利器

业务运营状况是否良好&#xff0c;除了人员需要配合以外&#xff0c;真正发挥作用的是背后的工作流程。将重复的工作进行自动化处理&#xff0c;确保这些流程最终指向同一个目标、实现一致的运营结果。而设计和实施不佳的工作流程则产生相反的效果——导致处理时间延长、运营成…

好题分享

1.Problem - G - Codeforces &#xff08;1&#xff09;题意 &#xff08;2&#xff09;思路 因为最多13次&#xff0c;那么不如我们就问13次&#xff0c;然后考虑把每一个位置重新按二进制拆分成一个下标&#xff0c;因为C(13,6) > 1000,因此在数量上是满足得&#xff0c;我…

编程每日一练(多语言实现)基础篇:满足abcd=(ab+cd)^2的数 (增加Go语言实现)

文章目录 一、实例描述二、技术要点三、代码实现3.1 C 语言实现3.2 Python 语言实现3.3 Java 语言实现3.4 JavaScript 语言实现3.5 Go 语言实现 一、实例描述 假设 abcd 是一个四位整数&#xff0c;将它分成两段&#xff0c;即 ab 和 cd&#xff0c;使之相加求和后再平方。求满…

LeetCode 热题 HOT 100:回溯专题

LeetCode 热题 HOT 100&#xff1a;https://leetcode.cn/problem-list/2cktkvj/ 文章目录 17. 电话号码的字母组合22. 括号生成39. 组合总和46. 全排列补充&#xff1a;47. 全排列 II &#xff08;待优化)78. 子集79. 单词搜索124. 二叉树中的最大路径和200. 岛屿数量437. 路径…

【C++】C++的类型转换

文章目录 1. C语言中的类型转换2. C中的类型转换2.1 static_cast2.2 reinterpret_cast2.3 const_cast2.4 dynamic 1. C语言中的类型转换 在C语言中&#xff0c;经常会出现一种情况&#xff1a;运算符两边的类型不同&#xff0c;或者形参实参类型不匹配&#xff0c;此时就会发生…

工信部:杭州亚运会开幕式首创 5G 超密组网方案,场馆网络无缝覆盖

“工信 V 报”今日发布消息称&#xff0c;工信部经过精心统筹、周密部署&#xff0c;举全系统之力圆满完成了杭州亚运会开幕式各项保障任务。 据介绍&#xff0c;亚运会的指挥调度、安全保卫、通信网络、计时记分、电视转播等系统顺畅运行&#xff0c;对无线电安全、信息通信服…

MATLAB与Python:优势与挑战

本文旨在探讨MATLAB与Python在特定领域内的使用情况&#xff0c;并分析两者之间的优势和挑战。 MATLAB和Python都是流行的编程语言&#xff0c;广泛应用于科学计算、数据分析和机器学习等领域。在某些领域&#xff0c;如航空航天工程、自动化和电子工程嵌入式系统开发等&#…

福建江夏学院蔡慧梅主任一行莅临拓世科技集团,共探AI+时代教育新未来

在科技的海洋中&#xff0c;产业是那航行的巨轮&#xff0c;而教育则是指引方向的灯塔。当巨轮与灯塔相互辉映&#xff0c;产教融合与校企合作便成为了推动国家科技创新和人才培养的金钥匙&#xff0c;为未来开启一扇扇充满希望的大门。 2023年9月24日&#xff0c;福建江夏学院…

Nginx简介与Docker Compose部署指南

Nginx是一款高性能的开源Web服务器和反向代理服务器&#xff0c;以其卓越的性能、可伸缩性和灵活性而闻名。它在全球范围内广泛用于托管Web应用程序、负载均衡、反向代理和更多场景中。在本文中&#xff0c;我们将首先介绍Nginx的基本概念&#xff0c;然后演示如何使用Docker C…

Go结构体深度探索:从基础到应用

在Go语言中&#xff0c;结构体是核心的数据组织工具&#xff0c;提供了灵活的手段来处理复杂数据。本文深入探讨了结构体的定义、类型、字面量表示和使用方法&#xff0c;旨在为读者呈现Go结构体的全面视角。通过结构体&#xff0c;开发者可以实现更加模块化、高效的代码设计。…

doT.js模板学习笔记

doT.js模板学习笔记 欢迎学习doT.js模板学习笔记doT.js模板是什么doT.js 主要优势在doT.js好处引入方式基本语法语法示例结尾 欢迎学习doT.js模板学习笔记 doT.js官方网站 本文章得示例源码 doT.js模板是什么 doT.js 是一个 JavaScript 模板框架&#xff0c;在 web 前端使用 d…

软件测试面试复盘

作者&#xff1a;爱塔居 专栏&#xff1a;测试 1、计算机网络七层协议&#xff1a;物理层、数据链路层、网络层、传输层、表示层、会话层、应用层&#xff08;面试问过这个&#xff09; 2.TCP/IP四层模型&#xff1a;应用层、传输层、网络层、网络接口层&#xff08;笔试问过&…

vscode左键无法跳转到定义的文件

之前用vscode的时候&#xff0c;明明是可以ctrl键鼠标左键跳转到定义文件的&#xff0c;突然之间就不行了&#xff0c;鼠标移到引入上根本都没有下划线&#xff0c;无法跳转 解决方法&#xff1a; 项目的根目录新建 jsconfig.json 文件&#xff0c;代码如下 {"compiler…

使用sqlmap总是提示需要302跳转重新登录的解决方法

如果在命令中不指定cookie&#xff0c;sqlmap在执行时会提示需要重新登录 如果给了cookie但发现还是提示需要重新登录&#xff0c;且按它给的提示发现还是找不到注入点&#xff0c;原因是url没有加引号 url加了双引号后解决问题

Jenkins集成AppScan实现

一、Jenkins上安装插件 在Jenkins里安装以下插件 ibm-security-appscanstandard-scanner 二、打开AppScan 1、配置需要扫描的地址 配置需要扫描的地址 2、记录好要扫描的URL登录序列 记录好要扫描的URL登录序列 3、导出要扫描的URL登录序列设置 导出要扫描的URL登录序列设置 三…

【Java 进阶篇】JDBC Statement:执行 SQL 语句的重要接口

在Java应用程序中&#xff0c;与数据库进行交互是一项常见的任务。为了执行数据库操作&#xff0c;我们需要使用JDBC&#xff08;Java Database Connectivity&#xff09;来建立与数据库的连接并执行SQL语句。Statement接口是JDBC中的一个重要接口&#xff0c;它用于执行SQL语句…

【算法速查】一篇文章带你快速入门八大排序(上)

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;首先在这里祝大家中秋国庆双节同乐&#xff01;&#xff01;今天用一篇文章为大家把八大排序算法都过一遍&#xff0c;当然由于篇幅的原因不是每…