移动端 ChatGPT App 抓包分析

作者: | 更新日期:

移动端抓包后,ChatGPT App 马上就会开始大面积封杀 IP 了吧。

本文首发于公众号:天空的代码世界,微信号:tiankonguse

零、背景

之前我在《iPhone 上体验 chatGPT app》,并在留言里预测:ChatGPT App 马上就会开始大面积封杀 IP 了。

为啥这样说呢?

因为 ChatGPT App 通信使用的是 Http 协议明文,大家可以直接在移动端抓包分析协议,从而进行破解。

破解之后,chatGPT app 自然就会进行对抗,自然就是大量的封杀 IP 了。

那移动端该怎么抓包呢?

这篇文章简单分析一下原理。

一、原理

正常的 Http 通信是下面的样子。

-> chatGPT app (http)
-> chatGPT web server (http)

不过现在是 2023 年了,大部分通信即使是 Http ,也都会开启 Https 的。

-> chatGPT app (https)
-> chatGPT web server (https)

抓包一般是在电脑上进行的,所以需要写一个代理服务,支持流量转发。

-> chatGPT app (https)
-> you proxy(纯转发)
-> chatGPT web server (https)

虽然加了代理,流量经过电脑了。
但是我们无法看到 https 协议内的数据,因为数据被加密了,我们无法解密。

怎么办呢?
我们自己生成一个 SSL 证书,强制让 chatGPT app 信任我们的证书。
这样我们的代理服务器就可以对数据解密了。

-> chatGPT app (https+私有证书)
-> you proxy(私有证书解密)
-> you proxy(查看数据)
-> you proxy(正常证书加密)
-> you proxy(转发)
-> chatGPT web server (https)

二、实践

http 协议一般用来 UI 来读写数据,属于前端的范畴。
所以移动端抓包一般也都称为前端抓包工具。

这类的抓包工具很多,我们随便找一个即可,大致步骤如下。

0)手机和电脑处于同一个网络环境
1)安装前端抓包代理工具 2)开启 proxy 代理服务。
3)生成移动端证书,手机安装并信任证书。
4)手机 WIFI 配置代理的服务器和端口。
5)抓包工具录制流量
6)移动端使用 APP。
7)抓包工具查看抓到的数据。

抓包之后,可以发现:

移动端的域名是 ios.chat.openai.com
背后的服务商依旧是 cloudflare
移动端与WEB的部署是完全隔离的。

还可以发现,chatGPT 支持两个 model。
一个是 text-davinci-002-render-sha-mobile,一个是 text-davinci-002-render-sha。
移动端的 GPT-3.5 指向了 text-davinci-002-render-sha-mobile。

手机上我问一句英文的问题。
PS:英文的抓包容易做区分,中文的话,全是编码后的数据,可读性就比较差了。

抓包可以看到对应的请求与返回。
还是再熟悉不过的 event-stream http 包。

就这样,我们就轻松分析出 chatGPT app 的通信协议了。

三、最后

对于移动端的通信, chatGPT 其实可以对通信内容简单加密一下。
随便加密一下,就很难被破解了。

你怎么看这个?

《完》

-EOF-

本文公众号:天空的代码世界
个人微信号:tiankonguse
公众号ID:tiankonguse-code

本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。

关注公众号,接收最新消息

tiankonguse +
穿越