Google 是如何进入我的 Mac 的?

Sam*_*ody 6 firewall privacy curl macos

我正在运行 MacBook Pro,但从未安装过 Chrome、Google Earth 或任何明目张胆的 Google 产品。

刚刚安装了 Little Snitch(Mac 没有好的免费防火墙吗?)并且看到 CURL 每隔几分钟就会发送给 Google,以及对 Google 更新的请求等等。

Little Snitch 没有说明是什么程序设置了这些请求。

那么,我如何找出 Google 如何进入我的机器,为什么它会发送如此多的请求(每分钟左右)以及我如何删除它(它是否出于帮助 Google 监视我以外的其他原因)?

slh*_*hck 10

刚刚安装了 Little Snitch(Mac 没有好的免费防火墙吗?)

有人可能会说 OS X 不需要第三方防火墙。有一个内置的,虽然 Little Snitch 确实可以完成这项工作,但我看不到它有很多实际用途。如果只是,让用户产生偏执。大多数情况下,您想检查某个应用程序是否正在“打电话回家”,但是在您收到数百条警报只是为了启动一个程序之后,它可能变得更烦人而不是有用。

如果您不想花钱,请坚持使用内置的。

CURL 每隔几分钟就会发送给 Google

这几乎可以是任何东西。如果您通过地址簿或日历启用了 Google 同步,contactsd则将连接到 Google。如果没有,那么您安装的任何应用程序很可能会ping Google 以检查您是否完全连接到互联网。不是很优雅,但是您多久会发现自己ping google.com在终端中检查一次?

这里的主要问题是 Little Snitch 不报告调用curl或的进程ping。此Security.SE answer 中描述了您可以做什么来找出父进程。基本上,您可以为二进制文件创建一个包装脚本,以找出谁调用了它们:

sudo cp /usr/bin/curl /usr/bin/curl.bin
sudo nano /usr/bin/curl.wrapper
Run Code Online (Sandbox Code Playgroud)

在这里,复制这个:

#!/bin/sh

date >> /var/tmp/curl_ppid.log
ps -f -p $PPID >> /var/tmp/curl_ppid.log

exec curl.bin "$@"
Run Code Online (Sandbox Code Playgroud)

用 保存CtrlO,然后按?。现在:

sudo chmod 755 /usr/bin/curl.wrapper
sudo touch /var/tmp/curl_ppid.log
sudo chmod a+w /var/tmp/curl_ppid.log
sudo ln -sf /usr/bin/curl.wrapper /usr/bin/curl
Run Code Online (Sandbox Code Playgroud)

现在,您可以curl通过检查新创建的日志文件来查看谁调用了/var/tmp/curl_ppid.log.

要检查哪个进程属于 PID,请使用:

ps -fp <pid>
Run Code Online (Sandbox Code Playgroud)

<pid>您从日志文件中获取的进程 ID在哪里。


如果你想逆转这个过程,这就足够了:

sudo cp /usr/bin/curl.bin /usr/bin/curl
Run Code Online (Sandbox Code Playgroud)

  • 我说我没有看到它有很多实际用途,而不是“根本没有”。我当然不会相信每个应用程序。 (2认同)