【问题标题】:Can GCM/Firebase push notifications be intercepted with proxy software like Charles?GCM/Firebase 推送通知可以被 Charles 等代理软件拦截吗?
【发布时间】:2018-09-15 08:58:40
【问题描述】:

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

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

在 Android 模拟器中,...

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

有没有办法拦截 Charles 的推送通知?

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

我可以想象,出于安全考虑,这可能会变得更加困难。我已经看到了这个先前的答案Intercept all GCM push messages(for any app),但它没有详细说明为什么它不能完成。

【问题讨论】:

  • 在某些时候,您可能会看到收到的数据,但它可能已加密。我看不出你将如何解密数据(除非你有必要的密钥)
  • 您对此有任何回应吗?
  • 不,只有下面玛丽安的回答。

标签: android push-notification google-cloud-messaging firebase-cloud-messaging charles-proxy


【解决方案1】:

我认为 GCM 通知不会作为 http 流量直接发送到您的应用。我认为它们与安装在您手机上的 Google Play 服务一起使用,然后通过“某物”触发您的应用。

搜索后我找到了this,我将在此引用以供参考:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2023-03-31
    • 1970-01-01
    • 2015-03-08
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多