使用 darkstat 监控带宽——如何排除我的动态分配的 IP 地址?

使用 darkstat 监控带宽——如何排除我的动态分配的 IP 地址?

我正在使用 darkstat 收集有关本地机器带宽使用情况的数据。我的互联网连接由 3G USB 棒提供,连接到移动网络。每次连接到互联网时,我都会获得不同的 IP 地址。我的问题是如何配置 darkstat,以便它不会在其输出中包含往返于我自己的 IP 地址的流量?

如果我按如下方式运行 darkstat:

sudo darkstat -i ppp0

然后生成的图表显示我自己的 IP 地址使用率最高:

IP              Hostname                            In          Out         Total       Last seen
49.***.***.***  ***.***.***.***.dyn.cust.vf.net.nz  19,790,395  2,683,631   22,474,026  2 secs
202.7.6.10      ubuntu.citylink.co.nz               472,523     7,624,768   8,097,291   5 mins, 46 secs
131.114.21.22   jake.unipi.it                       133,012     1,492,900   1,625,912   9 mins, 10 secs
91.189.92.184   zaurac.canonical.com                49,147      755,590     804,737     52 mins, 2 secs

... 等等。

我意识到我可以使用 -f 和/或 -l 开关来修改受监控的 IP 地址范围,但我不知道如何设置它以排除我的动态分配的 IP 地址。

有没有人有什么建议?

答案1

嗯,您肯定需要将地址作为端点,但如果您想动态地将其从结果中过滤掉,您可以通过一系列步骤来读取接口的地址,然后将其用作过滤条件。下面是一个脚本,它通过从接口中选择配置、查找 inet 地址字段、仅匹配地址数字、选择第一个结果,然后设置锚点来过滤 IP 地址。

长版本简短来说,它将删除以相关接口的 IP 开头的任何行。

sudo darkstat -i ppp0 | grep -v `ifconfig ppp0 \
   | grep 'inet addr' | egrep -o '[0-9.]+' | head -n 1 | sed 's/^/^/'``

相关内容