使用iftop、Nethogs和vnstat了解有关您的网络连接的更多信息。使用这三个Linux网络命令,您可以了解很多有关网络连接的信息。iftop通过进程号跟踪网络连接,Nethogs快速显示哪些正在占用您的带宽,而vnstat作为一个不错的轻量级守护进程运行,可以随时跟踪您的使用情况。iftopiftop侦听您指定的网络接口并将连接显示为顶部。这是一个很棒的小工具,可以快速识别占用率、测量速度并保持网络流量正常运行。看到我们使用了多少带宽真是太神奇了,尤其是对于我们这些记得使用电话线、调制解调器、惊人的千比特速度和实时波特率的老人来说。我们很久以前就放弃了波特率,转而使用比特率。波特率测量信号变化,有时与比特率相同,但大多数时候不同。如果您只有一个网络接口,则可以不带任何选项运行iftop。iftop需要root权限:$sudoiftop当你有多个接口时,指定要监控的接口:$sudoiftop-iwlan0和top一样,你可以在运行时更改显示选项。h切换帮助屏幕。n切换名称解析。s切换源主机的显示,d切换目标主机。s切换端口号。N切换端口解析。要查看完整的端口号,请关闭解析。t切换文本界面。默认显示需要ncurses。我认为文本显示更易于阅读和组织得更好(图1)。p暂停显示。q退出程序。图1:文本显示可读且井井有条。当您切换显示选项时,iftop会继续测量所有流量。您还可以选择要监视的单个主机。您需要主机的IP地址和网络掩码。我很好奇Pandora占用了我微薄的带宽多少,所以我首先使用dig找到他们的IP地址:$digApandora.com[...];;答案:pandora.com.267INA208.85.40.20pandora.com.267INA208.85.40.50网络掩码是什么?ipcalc告诉我们:$ipcalc-b208.85.40.20Address:208.85.40.20Netmask:255.255.255.0=24Wildcard:0.0.0.255=>Network:208.85.40.0/24现在将地址和网络掩码提供给iftop:$sudoiftop-F208.85.40.20/24-iwlan0不是吗?我惊讶地发现我宝贵的带宽正好适合Pandora,它每小时使用大约500Kb。而且,与大多数流媒体服务一样,Pandora也有流量高峰,并依靠缓存来缓解拥塞。您可以使用-G选项对IPv6地址执行相同的操作。有关iftop的其他功能,请参阅手册页,包括使用自定义配置文件自定义默认选项,以及应用自定义过滤器(有关过滤器参考,请参阅PCAP-FILTER)。Nethogs如果您想快速了解谁在占用您的带宽,Nethogs既快速又简单。以root身份运行并指定要侦听的接口。它显示空闲应用程序和进程号,因此您可以根据需要终止它:$sudonethogswlan0NetHogsversion0.8.1PIDUSERPROGRAMDEVSENTRECEIVED7690carla/usr/lib/firefoxwlan012.494556.580KB/sec5648carla.../chromium-browserwlan00.0520.038KB/secTOTAL12.56Netsechos/KB/secTOTAL12.56Netsechos/几个选项:在kb/s、kb、b和mb之间循环;按接收或发送的数据包排序;并调整冲洗之间的延迟。请参阅mannethogs,或运行nethogs-h。vnstatvnstat是最容易使用的网络统计收集器。它是轻量级的,不需要root权限。它作为守护进程运行并记录您的网络统计信息。vnstat命令显示累计数据:$vnstat-iwlan0Databaseupdated:TueOct1708:36:382017wlan0since10/17/2017rx:45.27MiBtx:3.77MiBtotal:49.04MiBmonthlyrx|tx|total|avg.rate-------------------------+------------+------------+---------------Oct'1745.27MiB|3.77MiB|49.04MiB|0.28kbit/s------------------------+------------+------------+------------估计85MiB|5MiB|90MiB|dailyrx|tx|总计|avg.rate------------------------+------------+-------------+------------今天45.27MiB|3.77MiB|49.04MiB|12.96kbit/s----------------------+------------+------------+----------------估计125MiB|8MiB|133MiB|它默认显示所有网络接口。使用-i选项选择单个接口。以这种方式合并多个接口的数据:$vnstat-iwlan0+eth0+eth1您可以通过多种方式过滤显示:-h以小时为单位显示统计信息。-d以天为单位显示统计信息。-w和-m按周和月显示统计信息。使用-l选项查看实时更新。此命令删除wlan1的数据库并停止监视它:$vnstat-iwlan1--delete此命令为网络接口创建一个别名。这个例子在Ubuntu16.04中使用了一个奇怪的接口名称:$vnstat-u-ienp0s25--niceth0默认情况下,vnstat监控eth0。您可以在/etc/vnstat.conf中更改它或在您的主目录中创建您自己的个人配置文件。有关完整参考,请参阅manvnstat。您还可以安装vnstati来创建一个简单的颜色图表(图2):$vnstati-s-iwlx7cdd90a0a1c2-ovnstat.png图2:您可以使用vnstati创建一个简单的颜色图表。
