关于 macOS 和 iOS 占用大量网络资源,消耗流量排查

8 min


0

接到用户反馈,血量消耗问题,我们发现了一个 macOS/iOS 系统持续大流量请求导致大量流量消耗的问题。

问题

追踪

打开 Surge Dashboard,看到如下的情形:

可以看到当时在持续不断的进行下载动作的进程名称是 com.apple.Safari.SafeBrowsing.Service,看请求地址是 safebrowsing.googleapis.com

这是 Safari 和安全流量相关的服务,通过 Snitch 的数据库查到对其的说明:

Safari has built-in support for Google‘s Safe Browsing service to identify fraudulent and unsafe websites. Right before Safari navigates to a certain website, the website gets checked for possible security concerns using Google’s Safe Browsing online database. Accessing the online database requires connections to Google servers.

​ 大致是介绍 Safe browsing (安全浏览)是谷歌提供的一种服务,利用谷歌持续更新的恶意网址和钓鱼网站的数据集,来检测 url 的安全性,帮助我们有效抵御网上诱骗、社交工程、恶意软件、垃圾软件、恶意广告、侵扰性广告以及侮辱性网站或扩展程序带来的危害。

说的大概是该服务是针对 Safari 浏览器启用的,在 Safari 要帮你导航到下一级页面的时候,会识别该页面是否是欺诈🐶或者不安全⚠️的网站。
我们在 Safari 的 Security 菜单中可以找到启用关于欺诈网站的检测功能的开关。以我本机上看到的内容如下

Safari uses Tencent Safe Browsing and Google Safe Browsing to identify fraudulent websites.

意思就是 Safari 使用腾讯的安全浏览服务和 Google 的安全浏览服务来鉴别欺诈网站,腾讯是本地化的产物。

通过针对该进程的出口请求 host 也可以验证这一点,该进程发起的网络请求会有如下两个 host 出口:
safebrowsing.googleapis.com
safebrowsing.urlsec.qq.com

其实在 iOS 设备上也有同样的进程来做这件事情,抓包有时候也能捕捉到这两个请求〔国行〕:

处理

尝试关闭 Surge 作为系统流量代理之后,看到 Activity Monitor 中进程又开始了下载,如下图所示,只是连接请求主体从原来 Surge 切换到了独立进程而已〔Surge 会接管网络流量,因此之前该任务的下载会算到 Surge 的头上〕,但是针对该 host 的下载任务一致持续不断。

而在我关闭 Surge 作为代理之前,可以看到该进程大概在 7 个小时之内耗了 12.4 GB 的流量。

最后处理很简单,只需要将 safebrowsing.googleapis.com 或 com.apple.Safari.SafeBrowsing.Service 过滤掉,或者绕过代理改为直连即可。


Like it? Share with your friends!

0

What's Your Reaction?

喜欢 喜欢
0
喜欢
不喜欢 不喜欢
3
不喜欢
路过 路过
3
路过
安排了 安排了
2
安排了
厉害了 厉害了
2
厉害了
Diss Diss
2
Diss
怕不怕 怕不怕
1
怕不怕
不可描述 不可描述
1
不可描述
wtf wtf
1
wtf