Flutter 如何查看网络请求

发布于 1周前 作者 h691938207 来自 Flutter

我们小区有一个电子门禁 App ,但是这个贵 App 也太它娘的难用了。我本想像查看下网络请求然后分析一下 API 然后做一个简单的 App 给自己开门用。结果没想到这个 App 是一个 Flutter 做的不走系统 proxy 就拦截不到 API 请求。

请问各位帅哥美女这个情况要怎么解决呢?


Flutter 如何查看网络请求
13 回复

之前搞过,用了 hook 的方法,具体可以看这个文章:
https://www.horangi.com/blog/a-pentesting-guide-to-intercepting-traffic-from-flutter-apps

更多关于Flutter 如何查看网络请求的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


感谢 感谢 不过自己没有 安卓手机看了下这个博客这个操作还是有点难度的

没安卓手机试试安卓模拟器?抓模拟器的包试试?

本机开 VPN 连接到电脑的抓包软件,看起来可以。只测试过 iOS

哦是吗?我就是 iOS 可以仔细说说要择吗操作吗?感谢感谢!

#5 我是用 Shadowrocket 连接的抓包代理。添加一个 http 的节点,填上抓包软件 ip 端口之后把它当节点用。这样手机的请求就都会通过抓包软件再出去

#5 大概就这样,其他支持添加 http 代理的 VPN 应该也行

这个聪明诶!!!谢谢谢谢 太感谢你了!我试试看这个怎么操作一下 orz

请教一下 我确实通过你说的这个方式看到了请求 但是因为 最终请求是 HTTPS 的所以还是看不到参数 你怎么处理的这个问题呀?在这个方式下面怎么可以添加证书呢?

#9 和正常使用抓包软件一样,只是要保持手机 VPN 打开。比如 Charles 手机上输入 chls.pro/ssl 然后去设置信任根证书

我是跟着这个流程走的 我用的是 Proxyman 但是 HTTPS 解密说有问题

所以我就不知道他们是不是开启了 SSL Pinning

不是 SSL pinning ,是 Flutter 不用系统默认的 CA ,所以需要 hook

在Flutter中查看网络请求通常涉及使用一些调试工具或库来拦截和检查HTTP请求与响应。以下是一些常用的方法:

  1. 使用Flutter DevTools: Flutter DevTools是一个强大的调试套件,它支持网络请求的查看。你可以通过安装Flutter DevTools插件(适用于VSCode、IntelliJ IDEA等)来启动它,然后在“Network”选项卡中查看应用发出的所有网络请求。

  2. 集成第三方库

    • dio:一个强大的HTTP客户端库,支持拦截器功能,你可以使用它来捕获和记录所有网络请求。
    • http_interceptor:这个库可以与dio或其他HTTP客户端一起使用,以添加请求和响应的拦截功能。
    • Charles ProxyFiddler:这些是第三方网络调试代理工具,可以捕获和显示从任何应用程序(包括Flutter应用)发出的HTTP/HTTPS请求。你只需将设备的网络代理设置为这些工具运行的地址和端口即可。
  3. 打印日志: 如果你使用的是Flutter内置的http包或其他HTTP客户端,你可以在发送请求之前和接收响应之后手动打印请求和响应的详细信息。虽然这种方法不如使用拦截器或工具那样自动化,但在某些简单场景下也足够使用。

选择哪种方法取决于你的具体需求,比如是否需要实时查看、是否需要详细记录请求和响应的详细信息,以及你是否愿意引入额外的依赖库。

回到顶部