Fiddler 手机抓包 IOS代理设置

前言

PC抓包工具有很多,例如 Charles、Fiddler、Whistle、WireShark等等。
但是抓包的原理都是一样的:

  • 都需要在同一WIFI环境下,连接代理端口;
  • 都需要下载证书来抓取HTTPS的包;
  • 都需要系统安装并信任抓包软件的证书;

由于 IOS 系统上设置相对统一,本文主要介绍 FIddler 在 IOS 下的代理配置。

一、下载

官网下载:https://www.telerik.com/download/fiddler

二、设置代理

  1. 允许远程连接:Fiddler - Tools - Options - Connections,勾选"Allow remote computers to connect"
    注:这一步是为了让其他设备连接到本机的代理,例如需要进行抓包的手机设备


    Alllow remote computers to connect.png
  2. 查看本机 ip
    打开 CMD,输入 ipconfig

    ipconfig.png

    或者 鼠标移动到 Fiddler 面板右上角的 Online 图标上面,也会显示本机 ip
    Fiddler online图标.png

  3. 手机配置代理端口


    手机连接代理端口.jpg

至此,手机访问任意页面,既可以在Fiddler中看到请求。只不过由于还未进行 HTTPS 的证书安装,HTTPS 的数据包都是乱码。

三、HTTPS 证书安装

  1. Fiddler 开启 HTTPS 解析功能
    Fiddler - Tools - Options - HTTPS,勾选"Capture https connects"、"decrypt https traffic"、"ignore server certificate errors (unsafe)"


    Fiddler 开启 HTTPS 解析功能.png
  2. 手机安装 Fiddler 证书
    打开手机浏览器,输入IP地址: 8888:

    手机安装Fiddler证书-1.JPG

    下载证书后,进入 设置 - 通用 - 描述文件与设备管理 - 安装证书
    手机安装Fiddler证书-2.JPG

    此时,手机中访问 HTTPS 页面,应当能看到 Fiddler 中抓取到了相应的 HTTPS 请求,并且选中后可以正常解析其中的文本信息。

四、补充配置

  1. host 重定向工具
    类似于修改系统 hosts 文件,可以将域名指向你配置的 ip 地址,一般用于代理测试环境。除了指定 ip,还可以指定端口。
    Fiddler - Tools - HOSTS:


    Fiddler Hosts 代理.png

    当手机访问对应域名的时候,就会被重定向到对应的 ip 和 端口号。

  2. 重定向:AutoResponder 工具
    更灵活的重定向功能,可以改写协议、域名、端口、路径等,且对浏览器侧透明。


    更改域名、端口号.png

    改写路径.png

五、小技巧

  1. 快速查看请求参数
    选中请求 - 右侧面板(inspectors) - webForms


    快速查看请求参数.png
  2. 显示请求 ip
    有两种方式显示请求ip,第一种:

  • 在标题栏(Protocol、Host、URL等处)右键 - Customize columns - Collection: Session Flags - flag name: X-overrideHost - Add,则面板中新增X-overrideHost列,展示规则重定向结果
  • 在标题栏(Protocol、Host、URL等处)右键 - Customize columns - Collection: Session Flags - flag name: X-HostIP - Add,则面板中新增X-HostIP列,展示最终域名解析结果

第二种:Fiddler - Rules - Custom Rules,在弹出的对话框找到 Main 函数,添加

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
显示请求 ip.png
  1. 显示复杂请求(OPTIONS请求)
    Fiddler - Rules - Custom Rules,在弹出的对话框找到 OnBeforeRequest 函数,添加
if (oSession.HTTPMethodIs == "OPTIONS") {
  oSession["ui-hide"] = "false";
}
显示 OPTIONS 请求.png

Fiddler 脚本文件 使用自定义的 FiddlerScript 语言,但语法格式与 js 高度相似;使用 FiddlerScript 除了可以重定向之外,还可以进行界面配置、会话配置、请求拦截与修改、返回数据拦截与修改等各种操作,有兴趣可以自行学习(官方文档)

  1. 显示请求方法 (RequestMethod)
    列标题右键弹出选项菜单 - 选择 Customize columns:Collection 选项选择 Miscellaneous,Field Name 选择 RequestMethod


    显示RequestMethod.png
  2. 禁缓存
    Fiddler - Rules - Performance - Disable Caching
    开启此选项之后 Fiddler 会在请求结果中设置 Cache-Control: no-cache,使得浏览器不对页面进行缓存。

  3. 保存响应体


    save-response-body.png

    如果保存完打开的文件是乱码,则需要点击工具栏"Decode"进行解码再保存


    response-body-decode.png

六、其他

Fiddler EveryWhere 界面更美观好用,RequestMethod、ip 无需再单独配置
https://www.telerik.com/download/fiddler-everywhere

你可能感兴趣的:(Fiddler 手机抓包 IOS代理设置)