移动开发中Fiddler的那些事儿,代理插件

日期:2019-10-20编辑作者:明仕ms57编程

本插件作用是把某些请求代理到指定的IP(端号)或文件,设置简便。

 

源码地址:

当我以前在调PC端网页的时候,Firefox有Firebug,Chrom也有自己的调试抓包工具,用起来很方便。

示图

图片 1

但是现在我要在手机上面调试页面,这个时候就没有这么方便的现成工具了。

安装

下载代码,用开发工具vs2003及以上的版本编译出jmFidExt.dll,或直接下载:jmFidExt.dll
把DLL拷贝到Fiddler的Scripts,启动Fiddler即可。

后面发现了Fiddler,设置一下后,就能用这个来抓取手机访问页面时候的请求了。

配置

启动Fiddler后,右侧会有一个jmFidExt的TAB,在表格中右健即可创建一个匹配规则,移动每行的header可以对规则进行排序。

注:从上往下,命中一个规则后不再匹配后面的规则,所以请把优先级最高的放最前面,比如具体的某个文件或服务请求,而替换host的这种放最后。

配置完后会在Scripts目录下生成一个 jmFidExt.conf 的文件,可以备份此文件

下面是文章大纲:

示例

  • 多个域名指向同一个ip

Match: (regex:代表一个正则)

regex:http(s)?://(abc|bcd).(baidu|qq).com/(.*)

Action: (支持多种方式)

127.0.0.1

或带端口

127.0.0.1:8000

或其它域名

xxx.qq.com
  • 具体的某个请求指向文件或一个文本串

Match:

regex:http(s)?://xxx.qq.com/fcg/act.cgi(.*)

Match也可以配成一个具体请求 例如: 

Action: 指向一个文件

E:producttesta.js

或直接配置一个json串

{
    "ret": 0,
    "msg": "success"
}
  • 把请求指向一个目录

可以用于模拟一个静态站点,会把所有匹配的请求指向一个目录。

下面的示例会把jmgraph.oa.com的请求全指向jmgraph目录

Match:

regex://jmgraph.oa.com/(.*)

Action

D:javascriptjmgraph

或者把请求的某个子目录指向一个本地目录,这里利用filename参数来做为截取文件名。 下面示例只是把请求的test路径指向某个目录:

Match:

regex://jmgraph.oa.com/test/(?<filename>(.*))

Action

D:javascriptjmgraphtest
  1. Fiddler配置与手机无线的配置
  2. HOST修改
  3. AutoResponder
  4. 指令
  5. 过滤Filter
  6. 插件

最后

「 从Fiddler请求列表中,背景色为#D6FAD6则表示经过jmFidExt匹配中的请求。 」

 

一、Fiddler配置与手机无线的配置

1、首先电脑和手机要使用同一个无线

  图片 2       图片 3

 

2、配置Fiddler,单机Tools=》Fiddler Options

  图片 4

 

3、配置手机无线,我的手机是Android机,IOS也是差不多的,就是加个代理和端口,主机名就是你电脑的IP地址,自己用ipconfig看下就有了。

  改好后,要重新连接一下,才能让Fiddler抓取到。

  图片 5

 

二、HOST修改

我一开始调试手机网页,都是先把文件上传到绑域名的服务器上,然后再访问测试,这样效率有点低。

以前的PC网页都是在本地调试好后上传到服务器上的,现在我也想这么做,这个时候就需要在Fiddler中配置域名转向了。

1、例如用手机访问

  图片 6

Fiddler抓取到的如下所示:

  图片 7

 

2、接下来我要让

点击Tools=》HOSTS打开的页面如下:

  图片 8

 

满心欢喜的以为域名已经转向了,用浏览器打开,duang一下是下面那个鸟样:

  图片 9

 

后面我想到得在我本地Apache上面配置个虚拟目录:

  图片 10

刷新下页面:弹出的内容就变成本地设置的了

  图片 11

现在访问pwstrick地址的HOSTIP就变成了127.0.0.1了

  图片 12

 

三、AutoResponder

刚上面的host修改,是把所有这个域名下的文件都重定向。但有的时候只需要测试某个文件,这个时候就可以用AutoResponder了。

1、将第一个和第二个打勾,第二个不打勾的话,所有页面就都不能访问啦,第二个选项的意思是不匹配的请求都保持不变。

  图片 13

 

2、在下面做个匹配规则,我选的是完全匹配,这里可以用正则表达式,高大上的东西。

  图片 14

  图片 15

 

3、满怀期待的刷新下页面,出来了用的是demo2.js文件中的内容

  图片 16

 

点击进入fiddler文档页面查看更多规则事例...

 

这个请求还可以让他延时请求,或者其他方式,选项如下:

  图片 17

 

四、指令

在软件的底部有个打指令的地方,目前我用的最多的就cls,就是清屏幕,其他指令还不怎么用,我比较low,囧。点击查看fiddler官方文档。

  图片 18

刚查看文档,发现几个未来应该会用到的指令,这里做个小记录

 

?sometext

  图片 19

  图片 20

输入?pwstrick然后直接按回车就会看到搜索URL中包含pwstrick的地址。

 

=status

=method

选择响应状态=status (200、404等)或请求方法=method的会话(POST、GET等)

 

@host

选择会话中域名包含host的会话,此时按Enter键可高亮所有匹配的结果

将会把api.pwstrick.com、www.pwstrick.com等URL选中

  图片 21

 

!dns hostname

进行目标域名的DNS查找,并将结果显示在LOG选项卡上

  图片 22

  图片 23

 

五、过滤Filter

  图片 24图片 25

选项好多,这里我打算把pwstrick.com给过滤出来,然后就把那个选项打勾

接着点击Actions中的Run Filterset Now,不过滤请求的话,太多眼都看花了,随便访问个线上网站就有几十个请求,唰唰下来

  图片 26

 

六、插件

1、JavaScript Formatter

将压缩过的JavaScript脚本格式化,查看别人网站时候的压缩脚本时候用很给力

首先得要先下载这个插件然后安装,点击页面搜索到JavaScript Formatter,点击下载。

安装好后重启Fiddler,接下来邮件那个URL就会看到下图中的红色框选项,点击一下。

  图片 27

接下来就能看到好看的JavaScript脚本了,不过不足的是不是彩色的,没有高亮。这个时候可以借助另外一个插件配合一下,那就是Syntax-Highlighting Add-Ons,也是在官网的插件页面搜索标题下载,下载完后就会多个SyntaxView选项,下图中的截图是我已经下载好了的画面,并且Syntax-Highlighting Add-Ons这个插件还可以做些其他功能具体可以查看文档。

  图片 28        图片 29

 

2、Gallery

这是看图片的一个插件,没有这个插件的话我还得复制URL,然后在浏览器中输入看图片。

我抓取了花瓣网的页面做演示:我先做了个域名过滤,旁边的Gallery一栏就会自动出来图片。

  图片 30

  图片 31

 

 

参考资料:

  Fiddler过滤指定域名

  前端开发利器—FIDDLER

  使用前端开发利器Fiddler调试手机程序

  Fiddler (六) 最常用的快捷键

  关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享

 

 

 

本文由明仕ms577发布于明仕ms57编程,转载请注明出处:移动开发中Fiddler的那些事儿,代理插件

关键词:

如何在Swift3中获取Json包的内容

我想在这个帖子里面总结两个问题:一个是通过ReST获取Json的语句,这个比较简单 另一个是如何将Json包一层一层转存...

详细>>

Ubuntu下将现有的文件打包成deb包

Ubuntu下将现有的文件打包成deb包。转自:   Ubuntu下将现有的文件打包成deb包。deb是DebianLinux的软件包格式。一般来说...

详细>>

零基础Python知识点回顾,Python中元组列表与字典

 开始了,继续说!字符串替换,就是预留着空间,后边再定义要填上什么,这种叫字符串格式化,其有两种方法:...

详细>>

Swift Podfile中的 use_frameworks!

use_frameworks! A、用cocoapods 导入swift 框架 到 swift项目和OC项目都必须要 use_frameworks! B、使用 dynamic frameworks,必须要在...

详细>>