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)