美文网首页
2019-08-09 Flutter框架的APP网络抓包

2019-08-09 Flutter框架的APP网络抓包

作者: 阿康666666 | 来源:发表于2019-08-09 15:22 被阅读0次

    近期工作中发现Flutter框架下的APP使用fiddler/Charles无法直接抓包进行测试了。
    具体原因可参考文章:https://juejin.im/post/5c85f504e51d4510a06d3f0a

    附:文中Flutter相关源码:
    https://github.com/dart-lang/sdk/blob/master/sdk/lib/_http/http_impl.dart
    结论
    1.Flutter中是允许使用代理模式的。
    2.Flutter中默认的代理环境为空。

    对应的解决方法如下:

    1. 方法一:代码中启用代理
      代码中启用Proxy,允许第三方工具通过代理形式抓包分析。
      我们使用了Flutter推荐的dio网络请求框架,因此根据dio的GitHub文档说明

    Using proxy

    DefaultHttpClientAdapter provide a callback to set proxy to dart:io:HttpClient, for example:

    (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
        // config the http client
        client.findProxy = (uri) {
            //proxy all request to localhost:8888
            return "PROXY localhost:8888";
        };
        // you can also create a new HttpClient to dio
        // return new HttpClient();
    };
    

    *建议仅测试版本的APP中开启此功能,降低安全风险

    1. 方法二:使用Drony工具
      此方法需在DronyAPP中设置代理的相关信息。
      2019-08-09 Flutter框架的APP网络抓包
    2. 方法三:Wireshark
      只要选对网卡,没有什么数据是Wireshark抓不到的。只要写清楚过滤规则,不管是否走代理模式,均可抓到Flutter框架内的网络请求。

    相关文章

      网友评论

          本文标题:2019-08-09 Flutter框架的APP网络抓包

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