admin 管理员组

文章数量: 887021

最近有一个合作商,所有的操作只能用手机登录App操作,特别是打字文本编译,比电脑累太多了,为了发扬如何偷懒,决定把App内网页转到PC上,Let’s go.

查了一下知乎上都没有理想的解答,我动手写一个吧,作为我的处女作。

一、工具选择:Fiddler,因为太多人推荐用。

时间2017-7-23,

可以打开官网上,下载页面和方式如下:

1.1,打开浏览器,输入网址;

1.2,光标移到菜单“PRODUCTS”上,出现半屏下拉菜单;

1.3,打到子菜单“FREE TOOLS”下面的“Fiddler”进入Fiddler页面;

1.4,点击下图中的橙色“Free download”进入下载页面。

1.5,会有一个问题,问你计划使用做什么,随便选一项,第二行写入自己的邮箱,下面的选项Box打上勾,我是Mac系统,Web自动检测下载Mac版本。

如果你是Windows可以点左下角进入Windows下载页面。

1.6,然后系统会自动下载,如果没有自动下载,也可以手动点链接下载。

二、Mac的运行环境下载安装:

下载后直接运行,发现找来找去一堆EXE文件,这不是搞笑嘛,我以为下错了,又重下了一次,好好检查了一下,就是这个EXE,不好的预感来了,果然要配置运行环境。

2.1,需要下载并安装Mono来运行这款软件的。

经过半天下载,下载好一个pkg文件

双击安装

下一步一直点,有需要问的,都同意,大约3分钟。

如果你问我安装软件过程你不会,你可以狗带了。

2.2,安装好Mono到Mac后,需要打开终端运行命令

/Library/Frameworks/Mono.framework/Versions//bin/mozroots --import —sync

因为Mono的framework有自己授权的认证书,安装软件后证书是空的,需要手动添加进去。

这一步并不容易,因为代码中间“”是要你手动改的,怎么改呢,操作如下:

1,打开电脑的终端Terminal;

2,先复制代码/Library/Frameworks/Mono.framework/Versions//bin/mozroots --import --sync,会报错"-bash: Mono: No such file or directory",不要急。

3,输入cd /Library/Frameworks/Mono.framework/Versions/,回车,这样可以进入版本的目录,因为版本会升级后改变目录名,所以第一步会找不到目录。

4,接着输入显示文件命令 “ls”,

5,看到版本号后,记住这个名字,(本样例是“5.0.1”),然后把第一个代码里“”改成“5.0.1”代码如下

Logway$ /Library/Frameworks/Mono.framework/Versions/5.0.1/bin/mozroots --import —sync

6,把改过后的代码再输入一次,回车,看到在执行的信息,表示OK啦。

2.3,解压刚刚下载的fiddler-mac.zip到有权限的文件夹中。

我是放在download下面,新建 一个dev文件夹

然后,右击文件夹“Get Info”,看文件的目录。

选中路径,右点复制下来。

2.4,在Mac的终端输入 "mono Fiddler.exe" 运行程序。

打开系统内的软件

我输后没有反应,后来crl+c退来又重复输入一次,有反应了。(也可能我太急了,没耐心等)

会出现对话框输入系统密码。就可以看到运行界面啦。

终于进入主界面啦

三、开始干活,先设置软件

打开程序主界面后,菜单“Tools”=>”Options"

选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求

选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来

四、现在设置手机

(1) 网络代理设置

安装Fiddler的机器,跟iPhone 必须在同一个网络里, 否则iPhone不能把HTTP发送到Fiddler的机器上来。一般情况,我手头上是笔记本机和手机,所以和手机不在同一个网络,如果你是台式机,就需要设置代理了

先查看本机的局域网,可以看到我自己机器的IP地址是192.168.0.166

然后手机上进入WiFi,设置代理,让手机流量都通过电脑上的8888端口,IP打开iPhone, 找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号8888

手机上Fiddler证书安装

这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步

1. 首先要知道Fiddler所在的机器的IP地址: 我安装了Fiddler的机器的IP地址是:192.168.0.166

2. 打开IPhone 的Safari, 访问 http://192.168.0.166:8888, 点"FiddlerRoot certificate" 然后安装证书

这时候可以在Fiddler里看到,有设备访问192.168.0.166:8888,并下载了cer证书。

现在大功告成,可以抓包了。iPhone上的应用(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取。

实例: 打开Safari,

看到下面蓝字部分的网址,说明成功截获了。

是不是HTTP和HTTPS都截获到了?, 你不但能截获, 还可以下断点,修改Request, 修改Response, Do what you want.

四、注意事项

(1) 用完了, 记得把IPhone上的Fiddler代理关闭, 以免IPhone上不了网。

(2) 只能捕获HTTP,而不能捕获HTTPS的解决办法

有时候会发现, Fiddler 只能捕获IPhone发出得HTTP请求, 而不能捕获HTTPS请求, 原因可能是证书没有安装好。 解决办法是:

1. 先把IPhone上所有的Fiddler证书删除 (拿出IPhone, 点”设置“->“通用”->"描述文件")

2. 安装上面的方法,重新安装Fiddler证书

本文标签: 页面 地址 链接 网页 手机能