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

96576 次点击
所在节点    Android
146 条回复
keymao
2019-04-26 10:21:45 +08:00
等红米漏的漆出 LOS 或者 pixel experience 硬件还是很香的
phoolean
2019-04-26 10:22:08 +08:00
@kmahyyg 这个 mcd 是个二进制文件,直接用编辑器打开里面有这样一段

6361 7264 2f74 7261 6365 5f6f 7574 0069
7074 6162 6c65 7320 2d44 2025 7320 2d6a
2025 730a 0065 6e61 626c 6500 2573 2069
7074 6162 6c65 7320 2d41 2025 7320 2d6a
2025 730a 0072 756e 2063 6f6d 6d61 6e64

转成 ascii 就是

card/trace_out iptables -D %s -j %s
enable%s iptables -A %s -j %s
run command
dd1982cn
2019-04-26 10:25:12 +08:00
我估计以后国内所有安卓都要这样了 都屏蔽了 就说明是违法网站 国家安全法可是明确说为了国家安全可以直接要求公司合作 小米又怎么敢 话说华为这种国企 细思极恐啊
nyaruko
2019-04-26 10:28:02 +08:00
国行三星手机似乎也有类似的问题。但仅限于 Google now 无法更新。其他 app 还能正常用。

而且重启之后能恢复正常。

什么时候照着楼主的思路查查看。
Raymon111111
2019-04-26 10:28:09 +08:00
哈哈哈哈

以后梯子都不好用了

直接源头限死

浏览器直接内嵌黑名单
hhhsuan
2019-04-26 10:42:21 +08:00
国产手机,国行手机,都不能买, 花钱为自己打造监牢,这种蠢事还是少做为好。
YellowWrangler
2019-04-26 10:43:02 +08:00
讲道理,小米酒好像是内置 Google play 的~
下载还带迅雷加速,杠杠的
est
2019-04-26 10:43:41 +08:00
> 一个名叫 mcd 的系统程序,在 iptables 里写了规则

可以把规则打印出来看看长啥样么?
nVic
2019-04-26 10:44:01 +08:00
用小米华为?这帮程序员被要求 996 的原因找到了。
gov
2019-04-26 10:49:41 +08:00
马克一下,不知是否灰度测试功能。
我自己的 mix2s,最新稳定版,梅林 ssr,使用至今没遇到这个问题。
kmahyyg
2019-04-26 10:51:23 +08:00
@phoolean #42 我也找到了,也明显的有
marcosteam
2019-04-26 10:52:39 +08:00
目前没遇到此问题
7654
2019-04-26 10:52:59 +08:00
我这里有个另外的问题,play 正常用,下载的时候有的 app 会提示下载超时请重试,再次点击系统下载 APP 的重试按钮,就可以正常下载了,速度也能达到 2M/S,有的 APP 下载却很顺畅
kmahyyg
2019-04-26 10:56:01 +08:00
https://www.lanzous.com/i3wxzfi 想要分析的戳这里,里面有 OTA 包下载地址,也有 mcd 这个文件。
msdx123
2019-04-26 10:58:53 +08:00
872517414
2019-04-26 10:59:00 +08:00
我 MI 8 一直无法登录 Chrome,其他服务还算。
msdx123
2019-04-26 11:01:43 +08:00
额 尴尬忘加.png 了
catalina
2019-04-26 11:02:37 +08:00
用 link2sd 把 gms 转换成系统应用试试?
msdx123
2019-04-26 11:07:49 +08:00
不过这个 mcd 不是只针对 GMS 的,还回去根据配置调调 cpuset 之类的
msdx123
2019-04-26 11:12:23 +08:00
https://del.dog/koficufana.sh

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

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

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

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

© 2021 V2EX