cover

抓包工具 Charles 与 Nuapi 对比

Charles 是在 PC 端常用的网络封包截取工具,在做移动开发时,为了调试与服务器端的网络通讯协议,常常需要截取网络请求来分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。 Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络请求的截取和分析。

Charles 主要的功能包括:

  • 截获 Http 和 Https 网络请求。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 支持模拟慢速网络。

使用背景

在与公司 App 端📱同事 调试接口 时,有的时候可能会出现一些非常 莫名其妙 的问题。有的时候可能难以定位这个问题到底是属于前端展示 【Bug】 还是说接口 【数据异常】。 通常这个时候,可能后端就需要去服务端看日志 然后结合日志数据进行排查。但是限于工具 网络等等复杂的情况,这样的方式其实真的很低效率。 这个时候就需要这样的一个工具,可以实时的看运行 App 的接口返回情况。结合前端 视图 展示,能在很短的时间内找到问题出现的原因。这样就可以快速的修复问题了。

Charles 使用

  • 下载(可以用破解版本)

  • 安装

  • 配置

  • 如果要抓HTTPS的话,手机端再安装根证书 image.png image.png

  • 手机设置代理,一般为 ip:8888 image.png

常用功能 image.png

nuapi 介绍

nuapi 是通过新一代的网络的接口开发调试工具,对ios 或者 安卓开发比较友好

nuapi的使用

image.png

  • 手机源码中,将原来的api地址改为 https://97a1fa5f.in.nuapi.com 这个地址后
  • 点击手机上的任意效果,则可以看到手机端上的请求源源不断的过来。

付费情况 nuapi 免费,免费

Charles 官网的价格是 199 单用户,需要下载安装。 nuapi.com 是网页使用,免费使用。

请求记录 Charles vs nuapi

每次请求的原始日志,双方都会有记录。 image.png

nuapi 有日记记录 header body response body

image.png 相同的返回内容 image.png

分享请求 Charles vs nuapi

现在有一个请求,共享给别人 Charles 只能分享 复制

curl -H 'Host: tangqiu.meirixi.com' -H 'Accept: application/json, text/plain, */*' -H 'version: 0.0.1' -H 'User-Agent: %E7%B3%96%E7%90%83/1 CFNetwork/1240.0.4 Darwin/20.6.0' -H 'Accept-Language: zh-cn'

或者拷贝下载链接地址

nuapi 可以通过网页的形式分享 image.png

可以单独的页面分享 image.png

重试/重发 Charles vs nuapi

Charles 可以点击任意链接重发请求。请求后和之前的结果是一样的。 image.png

nuapi 也可以同样的重新请求,请求的同时可以修改参数。 image.png

修改请求参数 Charles vs nuapi

Charles 点击【Rewrite】可以再发送前 修改 query, header。 但是没办法定义返回的内容。 image.png

nuapi 可以自定义这个链接地址的返回 Header Body image.png

修改返回内容 Charles vs nuapi

Charles 不能修改返回的内容,因为他只是模拟了请求,再次发送。比如说 某个接口不存在,那么charles就无能为力了。

nuapi 可以自定义这个链接地址的返回 Header Body image.png 再次请求这个地址的时候,会直接返回设定好的值。

Charles的优点是可以拦截所有手机端的请求,但是下载安装,配置复杂。一旦使用不同的wifi情况下,那么就不可用了。

Nuapi 有以下优点

  1. 记录请求日志
  2. 便捷的分享
  3. 快速重试
  4. 自定义返回内容

所以尝试用 nuapi.com 来代替 Charles, 实现调试 app端 的请求,是一个很不错的选择。

2
1