12

想知道这里是否有人碰巧知道 google 的 gcm 服务器的 ip 范围(用于 android 推送通知)?

我需要这些信息,以便我们的网络团队可以为我们的 UAT 环境打开防火墙端口以进行传入的 UAT 测试。

我试图从 developer.android.com/google/gcm/ 查找但没有运气。

我们的网络团队拒绝开放来自 asn 15169 的所有 IP 范围,这是一个相当大的列表。

4

2 回答 2

15

我认为Google Cloud Messaging 服务器有一个现有的问题IP 地址,并且该人发现这些 IP 地址不是由 Google 发布的。我也试图寻找它一次,但找不到。我可能是错的,但我很确定他们不会发布。也许您可以使用直接 3G 或 4G 数据计划,而不是使用公司 wifi。

在评论为什么 GCM 没有在 android 设备中提供推送通知?问题有人提到他打开了端口 5258、29、30,然后他能够从防火墙后面的 GCM 服务器接收 regId。

另外我认为@Eran的答案是关于Google Cloud Messaging (GCM) 使用哪个端口和协议?会有帮助的。它说:

设备通过端口 5228-5230 访问 GCM 服务器。如果您的组织有防火墙来限制进出 Internet 的流量,您需要将其配置为允许与 GCM 连接。要打开的端口是:5228、5229 和 5230。GCM 通常只使用 5228,但有时会使用 5229 和 5230。GCM 不提供特定 IP。它经常更改IP。我们建议不要使用 ACL,但如果必须使用它们,请采用广泛的方法,例如此支持链接中建议的方法。

如果您的设备通过 WiFi 连接到互联网,则这很重要。

希望这个对你有帮助。

更新

根据Mark Whitaker对类似问题的回答他提到:

如果端口 5228-5230 被防火墙阻止,较新版本的 Android 也会回退到端口 443。

虽然似乎还没有正式的名单。

于 2013-08-23T07:06:49.570 回答
3

为了补充 Shobhit Puri 已经说过的内容,我还试图找到这个问题的答案,以便能够在我的防火墙中戳出适当的漏洞,并且在得出用于谷歌云消息传递的 IP 地址是的结论后,我对谷歌非常失望不是使用 DNS 请求获得的,或者是使用破坏 Android 中 Always On VPN 功能的 DNS 请求获得的。

通过在更高版本的 Android 中使用 Always On VPN 功能,我确保所有流量都通过我的一台服务器。这也让我可以将该服务器用作 DNS 解析器,并通过激活查询日志记录并重新启动手机,我能够获得它发出的所有 DNS 请求的列表。然后,使用一些脚本魔法,我检查了所有这些,但没有一个解析到我的防火墙日志中显示的 IP 地址,出站端口 5228 丢弃。

这使我得出结论,用于 GCM 的 IP 地址是使用 DNS 以外的方法获取的,例如 Google Play 商店网络流量。

编辑(解决方案?):在通过我所有的防火墙日志运行脚本并返回所有的 dstport 5228 条目后,我已经能够编译 GCM 尝试过的 IP 地址列表连接到。我不能说这是一个完整的列表,它可能会根据地理位置而变化,但请注意模式......

74.125.28.188
74.125.129.188
74.125.20.188
173.194.79.188
74.125.142.188
74.125.192.188
74.125.140.188
74.125.139.188
74.125.137.188
74.125.134.188
74.125.130.188
173.194.68.188
173.194.76.188

我为所有这些 IP 地址创建了一个组,并将我的防火墙配置为将其用于我的 GCM 白名单。我还设置了一个报告来检查任何 dstport 5228 丢弃,让我知道我是否需要重新访问它。

于 2013-11-06T06:12:24.863 回答