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

5 min


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

问题

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

追踪

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

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

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

Safari has built-in support for ‘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
DUN

Choose A Format
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Video
Youtube and Vimeo Embeds