如何在重新启动后监视Internet数据的总使用量?


55

一些宽带提供商规定了每月下载限制,如果您超过该限制,则将收取额外费用。仅通过安装/更新软件包和“正常”浏览(对我来说包括流电视节目和电影),就很容易超过某些较低的限制。

这意味着您需要限制使用互联网的数量,但是很难知道何时使用。

系统监视器通过在“资源”选项卡的“网络”部分中给出了已接收/已发送的总数,对此有所帮助。但是,此设置在每次重新启动时都会重置。如果有一种方法可以收取每月的总收入,那将是很好的,这样您就可以知道自己即将超出限额的程度,如果您看起来将要超出限额,甚至可能会收到警告。

有人知道实现此目标的方法吗?


Answers:


38

您可以签出vnstat。它基于命令行,可在存储库中使用。

您可以从开始 sudo vnstat -u -i [interface]

查看统计 sudo vnstat -i [interface]


27

vnStat-基于轻量级控制台的网络监视器

vnStat是适用于Linux和BSD的基于控制台的网络流量监控器,可保留所选接口的网络流量日志。它使用内核提供的网络接口统计信息作为信息源。这意味着vnStat实际上不会嗅探任何流量,并且还可以确保系统资源的轻度使用。

在本教程中,我们将回顾:

  • 特征
  • 安装
  • 组态
  • 启动系统服务
  • 用法(从命令行)
  • Conky的例子

特征

  • 快速简便地安装和运行
  • 收集的统计信息通过系统重新启动而持续存在
  • 可以同时监视多个接口
  • 几个输出选项
  • 摘要,每小时,每天,每月,每周,前10天
  • 可选的png图像输出(使用libgd)
  • 可以将月份配置为遵循结算期
  • 轻便,最少的资源使用
  • 相同的低CPU使用率,无论流量如何
  • 无需root权限即可使用
  • 在线颜色配置编辑器

安装

nvStat在官方存储库中,因此无需链接到新的PPA。要安装,请使用Ctrl+ Alt+ 创建一个Terminal实例,T并在提示符下键入:

sudo apt-get install vnstat

安装后,请在以下各节中保持终端处于打开状态。无需重启。

组态

选择一个首选的网络接口,并在其中/etc/vnstat.conf相应地编辑Interface变量 。要列出vnstat可用的所有接口,请使用:

vnstat --iflist

要开始监视特定接口,必须首先初始化数据库。每个接口都需要自己的数据库。初始化eth0接口的命令是:

sudo vnstat -u -i eth0 

启动系统服务

引入接口并检查配置文件后。您可以通过systemd以下方式开始监视过程:

sudo systemctl start vnstat.service

要永久使用此服务:

sudo systemctl enable vnstat.service

从现在开始,vnstat将使用很小比例的CPU在后台收集网络使用情况,它不会出现在conky(系统监视器)的前9个进程列表中(在我的计算机上)。

用法(从命令行)

查询网络流量:

vnstat -q

查看实时网络流量使用情况:

vnstat -l

要查找更多选项,请使用:

vnstat --help

每月总计

要查看每月总计,请使用:

rick@dell:~$ vnstat -m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Nov '16     76.31 MiB |    2.03 MiB |   78.35 MiB |   10.45 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated      3.13 GiB |      84 MiB |    3.21 GiB |

Conky的例子

Conky是一种流行的轻量级系统监视器,可在许多Linux发行版中使用。您可以将vnStat带宽总计添加到conky显示器中,如下所示:

在此处输入图片说明

请注意,拍摄照片的时间Yesterday是星期天,这说明了为什么每周总数较少。

实现此目的的简洁代码是:

${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 300 vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}

为了节省空间,我的我用“G”,而不是“吉布”,“M”,而不是“MIB”等狭窄的窗口。如果您有更多的屏幕房地产的变化substr ($10, 1, 1),以$10与同为$9

您可能必须更改eth0wlan0eth1等,具体取决于所报告的网络名称ifconfig


是否可以“过滤”本地网络流量?我有很多本地流量,不想将其计入我的互联网使用量。
JPelletier

@JPelletier引用vnStat作者的话说这是不可能的。他在此线程上被引用了,那里大约20个人筹集了280美元以支付某人完全按照您的要求进行操作:forum.netgate.com/topic/29677/…Doug Smythies是一位负责监控每个IP地址流量的专家,我将请他看看您的评论。
WinEunuuchs2Unix

谢谢回复!目前,我正iftop用于诊断实时互联网使用情况,但拥有历史信息会很不错
JPelletier

@JPelletier:我的路由器是一台运行iptables脚本以实现路由/防火墙功能的Ubuntu服务器。可以通过WAN接口监视仅WAN流量。对于局域网内的Ubuntu计算机,也许可以使用tcpdump捕获所有内容,然后过滤掉局域网并广播数据包,作为从该计算机提取WAN数据包的一种方法。另请参阅此处
Doug Smythies

@DougSmythies感谢您的评论!我想知道是否有可能创建两个接口:eth0和eth1绑定到同一个NIC?然后,是否将所有本地流量都通过eth1路由,并将所有其他流量都通过eth0路由,vnstat从而收集统计信息?抱歉,这听起来像是一个愚蠢的问题……
WinEunuuchs2Unix

6

尽管不是“ ubuntu”答案,但我在WRT54G路由器上使用了Tomato固件。它为我提供了过去几年的每月上/下使用情况,(在您的问题范围内)令人高兴的是,它适用于整个网络,而不仅仅是运行它的一个系统(尽管这一点尚无定论) (如果系统是您的路由器或直接连接)。


3
美味的西红柿。伟大的三明治,甚至更好的路由器。
瑞安·汤普森

6

只是为了扩大rickys anwer:

有了ifconfig | cut -c 1-8 | sort | uniq -u你可以列出接口:

enp0s31f
lo      
wlp3s0

对于一个界面,您可以像这样可视化流量:

vnstati -vs -i wlp3s0 -o ~/summary.png

给出了一个很好的总结:

在此处输入图片说明

  • rx 是收到的流量
  • tx 是转移的流量

只要确保您除了安装了vnstat外,还安装了vnstati。sudo apt install vnstat vnstati
有机成瘾者

3

我建议从存储库中获得ntop实用程序,该实用程序作为服务运行,并保留流量使用记录。可从内部http服务器(端口3000)获得报告。您可以使用浏览器轻松检查它们,http://localhost:300/

ntop网站上检查从ntop可以获得什么。


ntop不会跟踪两次重新启动之间的使用情况,对吗?
2010年

根据可以使用rrd插件的文档,我没有进行自我测试。
若奥·平托

那你怎么用rrd插件呢?
Anwar

2

除了任何软件解决方案,我建议您咨询提供商。他们中的许多人都有监视工具,当您达到特定限制或暂时阻止访问时,它们会向您发送警告。这样的好处是您可以获得一些“官方”号码。


参加聚会晚了几年,您没有意识到的是,如果您走了ISP,ISP就不会感到无所适从,事实上,这就是他们如何赚钱的,因此,他们的工具不太可能考虑到许多因素。我的ISP提供40GB的配额,但需支付20英镑的费用,但您每超出1 GB就收取20英镑,我以前一次都超出了配额,我记得那毁了圣诞节,但让ISP高兴地向我收取了一大笔现金。我说我的互联网关闭了,他们校准了互联网。后来我发现有人直接从随机帐户链接到MUX,这解释了很多
Mark Giblin

0

我发现“ 下载监视器 ”是一种非常好用的工具,可以显示数据状态。它具有GUI界面,使其非常易于使用。它可以在Ubuntu软件中心上获得。

下载显示器

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.