通过iftop、nethogs和vnstat了解更多关于您的网络连接状态。通过这三个Linux命令,您可以了解很多关于您当前网络的信息。iftop通过进程ID跟踪网络连接,nethogs快速告诉您哪些进程正在占用您的带宽,而vnstat作为一个不错的轻量级守护进程在后台运行并实时记录您的网络使用情况。iftop很棒的iftop可以在您指定的网络接口上监听,以顶级风格呈现。这是一个很好的小工具,用于发现网络拥塞、测量速度和维护总网络流量。确切地看到您正在使用多少带宽通常是非常惊人的,特别是对于我们这些仍然记得电话线、调制解调器、“高速”到令人难以置信的kb和实时波特率的老人来说。我们很久以前就停止使用波特率,转而使用比特率。波特率是衡量信号变化的指标,虽然有时它与比特率相同,但大多数时候却不同。如果您只有一个网络接口,只需运行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。267在208.85.40.20pandora.com。网络掩码呢?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提供IP地址和子网掩码:$sudoiftop-F208.85.40.20/24-iwlan0太棒了不是吗?我惊讶地发现Pandora在我的网络上每小时使用大约500kb。与大多数流媒体服务一样,Pandora的流量增长迅速并依赖缓存来稳定。您可以使用-G选项对IPv6地址执行相同的操作。查阅友好的手册页可以帮助您了解iftop的其他功能,包括使用个人配置文件来自定义您的默认选项,以及使用自定义过滤(有关过滤指南,请参阅PCAP-FILTER)。nethogs当您想快速找出谁在占用您的带宽时,nethogs是一种快速简便的方法。您需要以root身份运行并指定要监听的接口。它会向您显示一堆应用程序及其进程ID,因此您可以根据需要杀死其中任何一个。$sudonethogswlan0nethogs版本0.8.1PID用户程序开发已发送7690carla/usr/lib/firefoxwlan012.494556.580KB/sec5648carla.../chromium-browserwlan00.0520.038KB/secTOTAL12.546556.618KB/secTOTAL12.546556.618KB/secTOTAL12.546556.618KB选项:在kb/s、kb、b、mb之间循环,按接收和发送的数据包排序,调整刷新延迟。有关详细信息,请参见mannethogs,或运行nethogs-h。vnstatvnstat是最简单易用的网络数据收集工具。它非常轻巧,不需要root权限。它以守护进程在后台运行,因此可以实时记录您的网络数据。单个vnstat命令可以显示累积的数据。$vnstat-iwlan0数据库更新:2017年10月17日星期二08:36:38自2017年10月17日起rx:45.27MiBtx:3.77MiB总计:49.04MiB每月rx|发送|总|平均率-----------------------+------------+-------------+----------------17年10月45.27MiB|3.77字节|49.04字节|0.28kbit/s-----------------------+------------+--------------+----------------估计85MiB|5字节|90字节|每日接收|发送|总|-----+------------+------------今天45.27MiB|3.77字节|49.04字节|12.96kbit/s---------------------+------------+--------------+----------------估计125MiB|8字节|133字节|默认情况下,它将显示所有网络接口。使用-i选项选择接口。您也可以像这样合并多个接口的数据:$vnstat-iwlan0+eth0+eth1您可以通过以下方式过滤数据显示:-h按小时显示统计信息。-d按天显示统计信息。-w和-m分别按周和月显示统计信息。使用-l选项查看实时更新。以下命令将删除wlan1数据库并不再监视它:$vnstat-iwlan1--delete并且以下命令将为您的网络接口之一创建一个别名。此示例使用Ubuntu16.04的有线接口名称之一:$vnstat-u-ienp0s25--nicketh0默认情况下,vnstat监控eth0。您可以在/etc/vnstat.conf中对其进行修改,或者在您的主??目录中创建您自己的个人配置文件。有关完整指南,请参阅manvnstat。您还可以安装vnstati来创建一个简单的颜色图(图2):$vnstati-s-iwlx7cdd90a0a1c2-ovnstat.png图2:您可以使用vnstati创建一个简单的颜色图。有关完整选项,请参阅manvnstati。
