与 google 服务器通信时出现问题?我好像找到原因了

2019-04-25 22:42:19 +08:00
 phoolean

前几天忽然发现我的小米 mix2s 和红米 note7 出现了一种很奇怪的现象:浏览器能访问 google,而谷歌系的 app 连不上服务器,但此时另一台 nexus5x 却完全正常,这三部手机连接的是同一台自动分流代理的路由器。我以为是账号出现问题就想退出后再登录 google 账号,结果发现怎么也登不上去了,两部小米手机一直提示与 google 服务器通信时出现问题。

我按照网上各种解决方法所说的开定位、用谷歌安装器重装 gms,结果这些方法只对红米 note7 有效。更奇怪的是一天之后红米 note7 又连不上了。后来我又发现这种情况只出现在手机连接 wifi 时,如果在手机上打开代理则能正常连接。

之后我想用 charles 和 wireshark 抓包看看到底哪儿出了问题,没想到手机在登录 google 账号时基本没有数据包发出。然后我又用 adb 导出了手机启动后的日志,才发现了原因:

54:53.573 I octvm : [arg_idx 7]: /system/bin/mcd init sudebug init_gms_iptable_chain gms_wall 10035 REJECT

54:53.573 I octvm : run command: iptables -N gms_wall

54:53.573 I octvm : iptables -A gms_wall -m owner --uid-owner 10035 -j REJECT

55:07.086 I octvm : run command: iptables -D INPUT -j gms_wall

55:07.086 I octvm : iptables -A INPUT -j gms_wall

55:07.129 I octvm : run command: iptables -D OUTPUT -j gms_wall

55:07.129 I octvm : iptables -A OUTPUT -j gms_wall

一个名叫 mcd 的系统程序,在 iptables 里写了规则,把 uid 为 10035 的用户相关的包拒绝了,在我手机上 gms 相关进程所属的 user 是 u0_a35,也就是 uid 为 10035。

没想到竟然是小米的 rom 屏蔽了 google play 服务,真的是无语了。

102312 次点击
所在节点    Android
146 条回复
msdx123
2019-04-26 11:15:47 +08:00
mxalbert1996
2019-04-26 11:17:15 +08:00
建议楼主看一下系统的联网控制里是不是 GMS 的勾被去掉了
mxalbert1996
2019-04-26 11:24:42 +08:00
这个怎么看也不像是系统故意限制的,MIUI 都支持 Gmail 自动代理了,没必要故意不让你用谷歌服务。如果想我上面说的一样是联网控制里禁止了 GMS 的话,那就有可能只是系统默认禁止 GMS 联网,这我倒也不是不能理解,因为我记得 MIX 2S 的中国版 ROM 也是自带 GMS 的,但是很多(可能大部分)用户并不会用到,那么默认禁止其联网防止耗电就可以理解了。
fengjianxinghun
2019-04-26 11:25:43 +08:00
phoolean
2019-04-26 11:25:56 +08:00
@est 正文里那几行就是啊
phoolean
2019-04-26 11:35:31 +08:00
@fengjianxinghun 这是用什么反编译的?
fengjianxinghun
2019-04-26 11:42:39 +08:00
@phoolean #66 IDAPro
phoolean
2019-04-26 11:49:25 +08:00
@msdx123 这个是用什么反汇编的?
Hoshizora
2019-04-26 11:52:11 +08:00
红米 note 7 没问题,手动复制 gapps 到 system 目录的,MIUI 10.3 | 稳定版
10.3.1.0(PFGCNXM)
ChikaInami
2019-04-26 11:53:35 +08:00
這樣限制的目的是什麼?為了防止用戶出國旅遊的時候使用谷歌的服務?
Hoshizora
2019-04-26 11:53:37 +08:00
@Hoshizora 不过连 WIFI 就不行,必须再在手机开代理
phoolean
2019-04-26 11:54:06 +08:00
@msdx123 这是什么工具?我用 aarch64 的 objdump 反汇编出来的特别乱。。。
phoolean
2019-04-26 11:55:12 +08:00
@Hoshizora 这个 mcd 很贼,root 后它就不屏蔽了
phoolean
2019-04-26 11:59:41 +08:00
@mxalbert1996 我猜它是为了省电而故意限制的,但它不允许用户自行修改,联网控制打开也没用
msdx123
2019-04-26 12:01:52 +08:00
swsh007
2019-04-26 12:05:36 +08:00
不懂,这种高科技。
SupperMary
2019-04-26 12:08:43 +08:00
@hdkzwzj 迅雷加速打开反而不能下载
dongxiaozhuo
2019-04-26 12:14:50 +08:00
@phoolean +1 这种规则大概是满足绝大多数用户无法连接到 Google 服务到情况,降低流量和电量的使用。但是这种规则会误伤到这些喜欢折腾的大佬们。
Baymaxbowen
2019-04-26 12:16:18 +08:00
@CallMeReznov 这个我一加也有,很多人都是这样
gov
2019-04-26 12:18:21 +08:00
@gov 刚刚看了一下,发现确实存在这条规则。惊了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/558774

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX