与 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 服务,真的是无语了。

96259 次点击
所在节点    Android
146 条回复
cominghome
2019-04-26 09:32:36 +08:00
@demonzoo 并没有唯一
kmahyyg
2019-04-26 09:34:12 +08:00
楼主可以尝试提取这个应用吗?
openbsd
2019-04-26 09:35:40 +08:00
这个屏蔽是否和 ROM 有关,虽然 404 它不在咱们这
但是这么恶意玩它,它也这么玩怎么办 ?
phoolean
2019-04-26 09:37:09 +08:00
@flynaj 是原版,线刷的稳定版
CallMeReznov
2019-04-26 09:39:22 +08:00
你还会发现你用 GOOGLEPLAY 怎么都下载不了东西.
经过无脑摸索是 MIUI 自带的那个迅雷下载引擎作祟,关掉以后清一下 PLAY 的缓存就行了.
kmahyyg
2019-04-26 09:41:00 +08:00
@phoolean #24 能否提供一下完整的 MIUI 版本号?
fox0001
2019-04-26 09:41:26 +08:00
很好奇,这个 mcd 是什么程序
phoolean
2019-04-26 09:41:29 +08:00
@CallMeReznov play store 下载 app 正常,和迅雷没关系
phoolean
2019-04-26 09:42:07 +08:00
@kmahyyg miui_MIMIX2S_V10.3.1.0.PDGCNXM_fd117de242_9.0
zxiso
2019-04-26 09:42:11 +08:00
我之前 p10 的 emui 也是,在国内开代理无论怎么也无法访问谷歌商店。然后去了趟香港,在香港就会提示是否启动谷歌商店的网络连接,然后就可以上了。。。
kmahyyg
2019-04-26 09:43:03 +08:00
@phoolean #29 到底是 MIX2S 还是 HM NOTE 7 ? 你这个是 MIX 2S 的包,1 楼的描述是 HM NOTE 7
phoolean
2019-04-26 09:44:27 +08:00
@kmahyyg 我第一句就说了一个 mix2s 一个 note7。。。
kmahyyg
2019-04-26 09:45:20 +08:00
@phoolean #32 ok,我先下了个 note 7 的包,我看看
phoolean
2019-04-26 09:48:57 +08:00
@kmahyyg 如果你的 ss 之类的代理在手机上,就不会出现这样的问题,因为 gms 的流量经过代理后 uid 就变了
aliuwr
2019-04-26 09:50:34 +08:00
三星也有针对 gms 的限制,可以看看是不是类似的逻辑。

https://github.com/shadowsocks/shadowsocks-android/issues/2138
kokutou
2019-04-26 09:51:26 +08:00
@CallMeReznov #25
迅雷下载器是没错的,如果你用的代理只选择了 google play 的那几个 app 就不行,
必须开全局让迅雷下载器也走代理,或者用路由器代理。

miui 就是改的东西太多了,稍微特殊点的,都要设置下。

所以我选择 lineageos。

又要 miui,又要 google 生态,又要无脑打开就能用。。。
google、小米:我很难办啊。
phoolean
2019-04-26 09:54:53 +08:00
@kokutou 就是用路由器代理才会出现这种问题
CallMeReznov
2019-04-26 09:57:26 +08:00
@kokutou #36 我原来都是直接用爱死爱死转全局的,夏娜自用 V2 客户端也是全局的,他这个全局不算?
我当时安装了 PLAY 后一直无法下载,挣扎很久才找到这个迅雷加速引擎,关闭后按照网上的清空了一下 APP 数据就可以了.
kokutou
2019-04-26 10:08:19 +08:00
@phoolean #37
@CallMeReznov #38

每次换手机,我给女友装 google photo 和同步的时候都没遇到过,
我自己用 android 只用 lineageos,

你们一定要用 miui 的话,那遇到屎就只能自己擦。
Zeonjl
2019-04-26 10:16:05 +08:00
贪便宜就买国际版

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

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

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

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

© 2021 V2EX