GCM/Firebase 推送通知可以被 Charles 等代理软件拦截吗?

TTr*_*mit 5 android push-notification google-cloud-messaging firebase-cloud-messaging charles-proxy

我已经设置了 Charles 代理来拦截进入在 Android 模拟器上运行的 Android 应用程序的网络流量。

在 Charles 中,帮助 > SSL 代理 > 在移动设备或远程浏览器上安装根证书

在安卓模拟器中,... 在此处输入图片说明

应用程序的常规网络流量来自 Charles 代理,而不是推送通知。

有没有办法拦截查尔斯的推送通知?

我已经看到文档说它们通过 HTTP 上的 5228-5230 端口通过。https://developers.google.com/cloud-messaging/http

我可以想象为了安全起见,这可能会变得更加困难。我已经看过这个以前的答案拦截所有 GCM 推送消息(对于任何应用程序),但它没有详细说明为什么不能完成。

Mar*_*och 4

我认为 GCM 通知不会作为 http 流量直接到达您的应用程序。我认为它们与您手机上安装的 Google Play 服务配合使用,然后用“某些东西”触发您的应用程序。

经过搜索,我发现了这个,我将在这里引用以供参考:

在 Google 云服务器上,只有一个 TCP 套接字以接受模式等待。TCP 连接是由 Google Play 应用程序发起的。这就是为什么必须在设备上安装 Google Play 才能使 Google Cloud Messaging (GCM)(以前称为 Android Cloud to Device Messaging Service - C2DM)正常工作。
当此 TCP 客户端套接字接收到某些消息时,该消息包含诸如应发送到的应用程序的包名称之类的信息,当然还有数据本身。该数据被解析并打包到广播并最终由应用程序接收的意图中。
即使设备的无线状态变为“空闲”模式,TCP 套接字仍保持打开状态。应用程序不必运行即可接收意图。