美文网首页go in china
在Mac上利用fiddler爬取https 协议包

在Mac上利用fiddler爬取https 协议包

作者: 天使的靠翅膀 | 来源:发表于2018-09-19 22:54 被阅读146次

    最近研究了一下利用Mac上如何利用fiddler抓取https协议数据,踩了很多地雷,所以想在此总结一下,希望其他小伙伴不要再踩我踩过的雷

    工作原理

    Fiddler是用代理web服务器的形式工作的,代理端口是8888,代理端口可以在fiddler中设置。

    fiddler原理图

    一、mono的安装

    1. mono作用:简单的说就是由于Fiddler是基于.Net技术开发的,没办法直接在Mac/Linux下使用,mono就是给Fiddler在Mac/Linux系统下提供.Net运行环境的。mono可以在这里下载。

    2.安装步骤:

    下载完成后在Terminal里执行以下命令

    /Library/Frameworks/Mono.framework/Versions/<Mono Version>/bin/mozroots --import --sync

    其中Mono Version是指mono的版本,现在是5.10.1版。此步是为了从Mozilla LXR上下载所有受信任的root证书,存于Mono的证书库里。root证书能用于请求https地址。

    接下来把mono加入到环境变量中,编辑.bash_profile文件:

    sudo vi ~/.bash_profile

    加入文本:

    export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/5.0.1

    export PATH=$PATH:$MONO_HOME/bin

    保存后重新打开Terminal,Mono环境已装好。

    二、Fiddler的安装

    从Fiddler官网https://www.telerik.com/download/fiddler下载,打开Terminal,进入到刚才Fiddler的保存路径,执行命令运行:

    sudo mono --arch=32 Fiddler.exe

    在Mac上要指明--arch=32 ,猜测可能是Fiddler运行在32位机器上的程序,原因不是很确定,有清楚的朋友欢迎指正。

    三、代理配置

    打开Fiddler后依次选中tools->options->Connections按下图勾选选中:

    1.png

    iPhone手机中的代理设置:

    1. 要想抓取手机端内容首先要让手机跟电脑链接到同一个网络中

    2. 点击手机设置->Wi-Fi右侧的蓝色按钮进入http代理设置:

    2.png

    在http代理处选择手动模式,输入ip和端口。ip即pc的局域网地址,端口为:8888

    3.png

    四、https证书的配置

      由于https的ssl/tls层使用了非对称的加密方式,利用公钥加密私钥解密,其中公钥放在证书中,所以Fiddler要监听https协议的网络请求需要配置证书。

      1. Fiddler中相关设置:

    在Mac上利用fiddler爬取https 协议包

    在选择好后Fiddler会安装相关证书,点击OK按钮完成。

    2. 在移动端证书的配置:

        之前已经说过了,要抓取移动端数据,必须使手机和电脑连接到同一个网络,然后在Safari 打开http://<ip>:8888,点击 FiddlerRoot certificate,进行证书安装。其中IP就是电脑局域网IP

      安装的证书需要认证,否则无法使用,ios设置证书认证:设置-->通用--->关于本—>证书信任设置 。找到刚才安装的证书点击信任。

    3. 在mac电脑中配置证书:

    打开Fiddler在Fiddler工具栏中依次点击Tools-->Options-->HTTPS-->Actions-->Export Root Certificate to Desktop导出证书到桌面上:

    双击证书,会跳到钥匙串中,即可倒入证书到Mac电脑证书管理中:

    双击钥匙串中倒入的证书设置信任证书及可以抓取浏览器中的https协议请求的数据:

    好了,整个在Mac上利用fiddler爬取https协议请求数据的过程就讲完了,看了很多别人写的相关博客,借鉴了写的不错的,再此申明一下。

    相关文章

      网友评论

        本文标题:在Mac上利用fiddler爬取https 协议包

        本文链接:https://www.haomeiwen.com/subject/uutmnftx.html