在Mac OS X上,我如何监视正在使用的Internet连接?


19

我的宽带连接相对有限(我距最近的交易所有数英里),并且时不时的网络访问速度(但除此之外没有)减慢到接近爬行的速度。

我从一些监视软件中知道该连接被大量使用,这可以解释该连接,但我不知道它在使用什么。当然有很多事情可能会发生(这些天来,有几十个应用程序会定期或不经常检查数据或下载更新),但是我怎么知道呢?

如果需要,我很乐意支付(少量)钱,但是在那种情况下,我宁愿建议我只是谷歌搜索一些东西。

Answers:


17

Little Snitch允许您有选择地向Internet授予对程序的访问权限,以便您可以确定允许与应用程序交谈的端口号和主机名。

这是一个非常方便的个人防火墙,这是我要在新Mac上安装的第一件事。防止应用拨打电话或在Internet上做任何事情对于保护隐私至关重要。


1
在应用程序级别上,Little Snitch在处理计算机进出的东西方面无价之宝。
Chealion

1
Little Snitch还可让您显示一个监视面板,该面板显示访问网络连接的每个应用程序的上/下流量。看起来像这样:obdev.at/Images/littlesnitch/network-monitor-zoomed.jpg
chris11年


7

您可以通过在终端内部运行以下命令来部分实现此目的:

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

我认为您所需要的可能是tcpsnooptcptop,默认情况下它们似乎在Mac上不可用,这使我想知道是否存在某些移植问题。


这里需要sudo吗?
理查德·霍斯金斯

它是从可能正在建立网络连接的其他用户那里捕获连接。即使您是唯一的用户,某些系统帐户也可能正在建立网络连接。
蒂姆(Tim)

7

iftop的用法

步骤0:通过MacPortsHomebrew安装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


1
iftopOS X上哪里可以找到?sudo: iftop: command not found
丹尼尔·贝克

运行“ sudo port install iftop”(如果已安装macports)。这将安装iftop及其依赖项。
russian_spy 2011年

1
谢谢。在Homebrew上也可以使用。但是,该信息将用作帖子的一部分;-)
丹尼尔·贝克

很好,我不得不使用其他接口(en1),首先出现了黑屏。另外,对于自制软件(而不是Macports)+1。
noio 2012年

3

Nettop是内置的命令行工具。您可以在终端中输入以下内容启动它nettop。默认视图过于冗长,因此我总是按cd键以查看每行一个应用程序(c),并查看当前的带宽使用情况,而不是总的网络流量(d)。您可能需要最大化终端窗口才能查看所有列。

更多信息和屏幕截图在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.