前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >定制 Fiddler 之按设备过滤请求

定制 Fiddler 之按设备过滤请求

作者头像
mzlogin
发布于 2020-04-16 09:06:37
发布于 2020-04-16 09:06:37
1.1K0
举报
文章被收录于专栏:闷骚的程序员闷骚的程序员

需求

在开发/测试过程中有多台设备(PC/手机/模拟器)通过 Fiddler 代理上网时,如何方便地从满屏纷飞的 Session 中筛选出自己关心的那台设备的请求?

设想

通过 FiddlerScript 扩展,在 Session 的右键弹出菜单中添加一项,作为「查看所有设备请求」和「查看单个设备请求」的切换开关。

设计操作流程:

  1. 找到自己关心的设备发出的某一条请求,在它的右键弹出菜单里有我们添加的菜单项「开/关过滤单设备请求」。
  2. 点击该菜单项后:
    • 若当前状态为「查看所有设备请求」,则切换为「查看单个设备请求」状态,该设备为此条请求的发送者,并清除当前已显示的所有不关心的设备的请求。
    • 若当前状态为「查看单个设备请求」,则切换为「查看所有设备请求」状态。

实现

实现思路:

  • 通过修改 CustomRules.js,在右键弹出菜单上添加一个菜单项来切换请求筛选状态。
  • 每一条请求都带有 ClientIP,它在没有网络切换之类的情况发生时能较好地唯一标识一台设备。
  • 筛选规则是将非来自该 ClientIP 的请求隐藏掉。

实现步骤:

  1. 打开 CustomRules.js。 启动Fiddler,依次选择菜单 Rules > Customize Rules…
  2. OnBeforeRequest 前添加如下代码: // 是否过滤单设备请求标志 public static var gs_FilterDevice: boolean = false; // 显示请求的设备的 ClientIP public static var gs_FilterClientIP: String = null; static function IsUnMatchClientIP(oS:Session):Boolean { return (oS.m_clientIP != gs_FilterClientIP); } public static ContextAction("开/关过滤单设备请求") function ToggleDeviceFilter(oSessions: Fiddler.Session[]){ if (gs_FilterDevice) { gs_FilterDevice = false; return; } var oS: Session = FiddlerApplication.UI.GetFirstSelectedSession(); if (null == oS) return; if (!gs_FilterDevice) { gs_FilterDevice = true; } gs_FilterClientIP = oS.clientIP; // 删除当前已显示的非所关心设备的请求 FiddlerApplication.UI.actSelectSessionsMatchingCriteria(IsUnMatchClientIP); FiddlerApplication.UI.actRemoveSelectedSessions(); }
  3. OnBeforeRequest 函数里添加如下代码,用于在「查看单个设备请求」状态时将不关心的设备产生的新请求隐藏: if (gs_FilterDevice && oSession.m_clientIP != gs_FilterClientIP) { oSession["ui-hide"] = "true"; }

最终效果如下图:

  • 筛选前
  • 筛选后

缺陷

当前做法有如下缺陷,尚未想到好办法解决:

  • 菜单项并不能标明当前的状态,不知道筛选是开是关,这可以通过查看当前 Session 列表里是否有多种设备的请求来判断。
  • 当设备有网络切换时,比如重启了路由或者离开又回到某 Wifi,ClientIP 可能发生了变化,需要关闭筛选后在设备以新的 ClientIP 产生的请求上右键再次开启筛选。

附注

我使用的完整最新的 CustomRules.js 文件我上传到了一个 Gist 里,详见:https://gist.github.com/mzlogin/3c5f9781c5bedff3fcfb,如果想直接使用可以复制脚本内容后放置到「我的文档/Fiddler 2/Scripts/CustomRules.js」,也可以在此目录下使用 git 抓取我的最新定制 js 文件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015/07/08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Linux下搭建主从DNS服务器并实现智能解析
组织域:.com, .net, .org, .gov, .edu, .mil 国家域:.iq, .tw, .hk, .jp, .cn, ...
星哥玩云
2022/07/25
13.8K0
Linux下搭建主从DNS服务器并实现智能解析
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
用户11531739
2025/03/19
4800
搞它!!!深入了解DNS域名解析服务,教你搭建一个属于自己的DNS服务器(正向解析、反向解析、泛域名解析、邮件交换解析、别名解析、分离解析,主从结构解析)
我们知道用户在与互联网上的主机通信时,必须知道对方的 IP 地址。但是每个 IP 地址都是由 32 位的二进制组成,即使是十进制的 IP 地址表示形式,用户想要记住也是很难的一件事,况且互联网有那么多的主机。
不吃小白菜
2020/09/03
16.9K0
搞它!!!深入了解DNS域名解析服务,教你搭建一个属于自己的DNS服务器(正向解析、反向解析、泛域名解析、邮件交换解析、别名解析、分离解析,主从结构解析)
DNS服务器
DNS(Domain Name Server),域名服务器,其作用是提供域名 解析ip(正向解析),ip解析域名(反向解析) 的服务。
阿七日记
2021/12/28
6.5K0
DNS服务器
DNS服务器及其概述
DNS(Domain Name Service)域名解析服务是用于解析域名与IP地址对应关系的服务。 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。这样人们只需要在浏览器中输入域名就能打开想要访问的网站了。目前,DNS域名解析技术的正向解析也是人们最常用的一种工作模式。
宝耶需努力
2022/12/13
1.5K0
DNS服务器及其概述
Linux中搭建DNS 域名解析服务器(详细版)
正向查询用于将域名解析为IP地址,这样用户就可以使用易记的域名来访问互联网上的各种网络资源,而不需要记忆IP地址。
神秘泣男子
2024/06/03
1.1K0
Linux中搭建DNS 域名解析服务器(详细版)
DNS域名解析三问
今天再说说网络,大家知道网络访问的第一步就是解析域名,也就是常说的DNS解析,那么你对DNS又了解多少呢?来看看吧:
码上积木
2020/11/09
19.3K0
DNS域名服务器
4.1    域名服务器 4.1.1    简介     DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名     简而言之就是讲例如www.baidu.com的东西转化成其对应ip 4.1.2    原理     
cfs
2018/03/08
9.5K0
DNS、CDN加速和域名解析之间的关系
此处的本地DNS服务器,一般是ISP(Internet Service Provider)提供。ISP,即是互联网服务提供商。比如,我们熟知的电信,就是ISP。
我是leon
2022/05/11
9.6K0
「真®全栈之路 - DNS篇」故事从输入URL开始.....
但想着,这是别人嚼烂很多次的内容,缺乏挑战性,而且,页面操作过程中能优化的地方实在太多了。
桃翁
2019/07/17
1.4K0
「真®全栈之路 - DNS篇」故事从输入URL开始.....
DNS域名解析中各项记录值的含义及遇到的一些问题
域名解析就是域名到IP地址的转换过程,域名的解析工作由DNS服务器完成。DNS服务器会把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。域名解析时会添加解析记录,这些记录有:A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录、SRV记录、URL转发。
德顺
2019/11/13
6.3K0
第四十九期:闲聊前端性能优化
前端性能优化是一个老生常谈的话题,而且我们看到的很多文章介绍的也非常详细,但是这些内容如果自己不去思考,不去整理的话,一旦我们在实际的项目里真的需要去做这么一件事儿的话,到头来你会发现其实还是无从下手。
terrence386
2022/07/15
1K0
第四十九期:闲聊前端性能优化
聊一聊前端性能优化 CRP
优化关键渲染路径可以提升首屏渲染时间。理解和优化关键渲染路径对于确保回流和重绘可以每秒 60 帧、确保高性能的用户交互和避免无意义渲染至关重要。
前端森林
2020/07/09
9330
DNS预解析详解
DNS解析时间可能导致大量用户感知延迟,DNS解析所需的时间差异非常大,延迟范围可以从1ms(本地缓存结果)到普遍的几秒钟时间。所以利用DNS预解析是有意义的。
慕白
2018/08/02
27.3K0
DNS预解析详解
DNS域名解析
以用户输入开源中国的域名www.oschina.net为例,DNS解析大约有以下几个步骤:
SuperHeroes
2019/03/12
50.5K0
域名解析知识
主机记录 域名前缀 记录类型 类型 说明 A 将域名指向一个IPV4地址 CNAME 将域名指向另一个域名 AAAA 将域名指向一个IPV6地址 NS 将子域名指定其他DNS服务器解析 MX 将域名指向邮件服务器地址 SRV 记录提供特定的服务的服务器 TXT 文本长度限制512,通常做SPF记录(反垃圾邮件) CAA CA证书办法机构授权校验 解析线路(isp) 记录值 服务器IPTTL Time To Live,缓存的生存时间。指地方dns缓存您域名记录信息的时间。 600(10分钟):建议正常情况下
Spaceack
2020/11/04
22.5K0
什么是DNS服务?域名解析的工作原理是什么?
今天来简单聊一聊DNS服务,众所周知,在网络中计算机之间是通过IP地址进行互相访问的,当我们访问某个域名时,其背后是DNS服务器进行了域名解析,并得到对应的IP地址。域名相比于IP地址而言,更加简单易记,从而可以更方便的访问。
reload
2024/07/25
6500
什么是DNS服务?域名解析的工作原理是什么?
一文搞懂常用的网络概念:域名、静态IP和动态IP、域名解析DNS、动态域名解析DDNS
在此之前,我对于网络通讯上的一些基础概念总是含糊其辞,感觉自己知道都又道不出个所以然,总之就是不成体系难以有个整体的把握。因此有了本文,目的是对一些平时颇为关注的网络概念进行总结,描绘出它们的关系,借此也希望能去扫清你的一些障碍,给小伙伴们分享一波。
YourBatman
2020/04/08
39.9K1
一文搞懂常用的网络概念:域名、静态IP和动态IP、域名解析DNS、动态域名解析DDNS
Dns域名解析过程
  dns全称Domain Name System,又称域名系统,是互联网的一项服务,
GH
2020/03/19
54.1K1
DNS服务器的配置「建议收藏」
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
全栈程序员站长
2022/09/05
7.3K0
推荐阅读
相关推荐
Linux下搭建主从DNS服务器并实现智能解析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档