Answers:
Little Snitch允许您有选择地向Internet授予对程序的访问权限,以便您可以确定允许与应用程序交谈的端口号和主机名。
这是一个非常方便的个人防火墙,这是我要在新Mac上安装的第一件事。防止应用拨打电话或在Internet上做任何事情对于保护隐私至关重要。
您可以通过在终端内部运行以下命令来部分实现此目的:
sudo lsof |grep TCP | grep ESTAB
这将列出所有打开的TCP连接。第一列将列出进行连接的应用程序,因此您可能能够找出哪个可能是罪魁祸首。几行输出示例如下所示:
ssh 10099 tim 21u IPv4 0x1164766c 0t0 TCP 10.0.52.158:61830->home:ssh (ESTABLISHED)
Mail 13216 tim 23u IPv4 0x11660270 0t0 TCP 10.0.52.158:57696->##.##.##.##:imaps (ESTABLISHED)
因此,我可以看到Mail和ssh都在使用连接。如果由此解决方案不明显,则可以使用dtrace获取更多详细信息。具体来说,请查看DTrace工具,其中一些已经在Mac上的/ usr / bin下安装:
bitesize.d cpuwalk.d creatbyproc.d dappprof dapptrace diskhits dispqlen.d dtruss errinfo execsnoop fddist filebyproc.d hotspot.d httpdstat.d iodbctest iodbctestw iofile.d iofileb.d iopattern iopending iosnoop iotop kill.d lastwords loads.d newproc.d opensnoop otool pathopens.d pidpersec.d plockstat priclass.d pridist.d procsystime runocc.d rwbypid.d rwbytype.d rwsnoop sampleproc seeksize.d setuids.d sigdist.d syscallbypid.d syscallbyproc.d syscallbysysc.d topsyscall topsysproc weblatency.d
我认为您所需要的可能是tcpsnoop或tcptop,默认情况下它们似乎在Mac上不可用,这使我想知道是否存在某些移植问题。
iftop的用法
步骤0:通过MacPorts或Homebrew安装iftop (这还将自动安装所有依赖项)
sudo port install iftop
brew install iftop
步骤1:查看系统上的网络“接口”列表(默认情况下,iftop使用en0,在Cricket宽带上它会显示空白屏幕)
ifconfig -l # shows: lo0 gif0 stf0 en0 en1 wlt1 fw3 vnic0 vnic1 vboxnet0 ppp0
步骤2:使用不同的网络“接口”运行iftop,直到iftop正常运行(我系统上的ppp0)
sudo iftop -i ppp0 # have to use sudo to avoid "pcap_open_live(ppp0): (no devices found) /dev/bpf0: Permission denied"
步骤3:按“ q”退出iftop
iftop
OS X上哪里可以找到?sudo: iftop: command not found