抓包工具 Charles 与 Nuapi 对比
Charles 是在 PC 端常用的网络封包截取工具,在做移动开发时,为了调试与服务器端的网络通讯协议,常常需要截取网络请求来分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。 Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络请求的截取和分析。
Charles 主要的功能包括:
- 截获 Http 和 Https 网络请求。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
使用背景
在与公司 App 端📱同事 调试接口 时,有的时候可能会出现一些非常 莫名其妙 的问题。有的时候可能难以定位这个问题到底是属于前端展示 【Bug】 还是说接口 【数据异常】。 通常这个时候,可能后端就需要去服务端看日志 然后结合日志数据进行排查。但是限于工具 网络等等复杂的情况,这样的方式其实真的很低效率。 这个时候就需要这样的一个工具,可以实时的看运行 App 的接口返回情况。结合前端 视图 展示,能在很短的时间内找到问题出现的原因。这样就可以快速的修复问题了。
Charles 使用
-
下载(可以用破解版本)
-
安装
-
配置
-
如果要抓HTTPS的话,手机端再安装根证书
-
手机设置代理,一般为 ip:8888
常用功能
nuapi 介绍
nuapi 是通过新一代的网络的接口开发调试工具,对ios 或者 安卓开发比较友好
nuapi的使用
-
注册账号
-
进入到管理页面
-
填写自己服务器的域名地址 如 https://xxxx.com 后 得到一个新的地址 【https://97a1fa5f.in.nuapi.com】
- 手机源码中,将原来的api地址改为
https://97a1fa5f.in.nuapi.com
这个地址后 - 点击手机上的任意效果,则可以看到手机端上的请求源源不断的过来。
付费情况 nuapi 免费,免费
Charles 官网的价格是 199 单用户,需要下载安装。 nuapi.com 是网页使用,免费使用。
请求记录 Charles vs nuapi
每次请求的原始日志,双方都会有记录。
nuapi 有日记记录 header body response body
相同的返回内容
分享请求 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 可以通过网页的形式分享
可以单独的页面分享
重试/重发 Charles vs nuapi
Charles 可以点击任意链接重发请求。请求后和之前的结果是一样的。
nuapi 也可以同样的重新请求,请求的同时可以修改参数。
修改请求参数 Charles vs nuapi
Charles 点击【Rewrite】可以再发送前 修改 query
, header
。 但是没办法定义返回的内容。
nuapi 可以自定义这个链接地址的返回 Header
Body
修改返回内容 Charles vs nuapi
Charles 不能修改返回的内容,因为他只是模拟了请求,再次发送。比如说 某个接口不存在,那么charles就无能为力了。
nuapi 可以自定义这个链接地址的返回 Header
Body
再次请求这个地址的时候,会直接返回设定好的值。
Charles的优点是可以拦截所有手机端的请求,但是下载安装,配置复杂。一旦使用不同的wifi情况下,那么就不可用了。
Nuapi 有以下优点
- 记录请求日志
- 便捷的分享
- 快速重试
- 自定义返回内容
所以尝试用 nuapi.com 来代替 Charles, 实现调试 app端 的请求,是一个很不错的选择。