通过Fiddler对Flutter应用程序进行Http/Https抓包

前言

本文主要讲解如何使用Fiddler对Flutter应用进行抓包。Fiddler是一个很好用的抓包工具,可以实现将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。
话不多少,开始~

1.Fiddler下载安装及设置

Fiddler下载地址: https://www.telerik.com/download/fiddler
安装很简单,安装目录指定一下,直接下一步就可以,这里就不多废话了。

接下来是Fiddler抓包的设置:
Http/Https抓包的设置:

首先找到Tools > Fiddler Options > HTTPS打开,勾选如下图两项

通过Fiddler对Flutter应用程序进行Http/Https抓包_第1张图片
image.png

Tools > Fiddler Options > Connections,勾选下图选项


通过Fiddler对Flutter应用程序进行Http/Https抓包_第2张图片
image.png

接下来在pc端浏览器和手机浏览器中输入 loaclhost:8888,其中localhost为本机ip, 8888为Fiddler设置监听的端口,点击如下图所示下载证书,

通过Fiddler对Flutter应用程序进行Http/Https抓包_第3张图片
image.png

找到下载完成的证书如下图所示,点击安装
image.png

2.Dio代理设置

这里使用的Dio作为的Flutter网络请求框架,代码中的代理配置也很简单,参考Dio代理设置文档https://github.com/flutterchina/dio/blob/master/example/proxy.dart
代码如下

    var dio = new Dio();
    //Fiddler抓包设置代理
    (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client){
      client.findProxy = (url){
        return "PROXY loaclhost:8888";
      };
      //抓Https包设置
      client.badCertificateCallback =
          (X509Certificate cert, String host, int port) => true;
    };

替换loaclhost为本机ip 就可以愉快的抓包了。

你可能感兴趣的:(通过Fiddler对Flutter应用程序进行Http/Https抓包)