帮助中心 >
  关于网络安全 >
  Linux中用于网络带宽监控和调试的工具bmon
Linux中用于网络带宽监控和调试的工具bmon
时间 : 2024-11-28 16:33:33
编辑 : Jtti

Bmon是款简单但功能强大的文本型网络监控和调试工具,适用于类Unix系统,能捕获和网络相关的统计数据,是一款可靠有效的实时的带宽监控和速率估算器。支持多种输入模块读取输入,以多种输出模式呈现输出,如交换式curses用户界面及用于脚本目的的可编程文本输出。

Linux中安装bmon带宽监控工具,可以从默认包管理器轻松安装,因为几乎全部Linux发行版默认存储库都有bmon包,只不过版本可能比较久。如果想安装4.0版bmon,在 CentOS、RHEL 和 Fedora 上

$ git clone https://github.com/tgraf/bmon.git

$ cd bmon

$ sudo yum install make libconfuse-devel libnl3-devel libnl-route3-devel ncurses-devel

$ sudo ./autogen.sh

$ sudo./configure

$ sudo make

$ sudo make install

在 Debian、Ubuntu 和 Linux Mint 上

$ git clone https://github.com/tgraf/bmon.git

$ cd bmon

$ sudo apt-get install build-essential make libconfuse-dev libnl-3-dev libnl-route-3-dev libncurses-dev pkg-config dh-autoreconf

$ sudo ./autogen.sh

$ sudo ./configure

$ sudo make

$ sudo make install

安装好后,运行bmon:

$ bmon

要查看更详细的带宽使用情况图形统计/信息,可以按键d查询。按[Shift + ?]查看下面的快速参考。要退出界面,请再次按[Shift + ?]。

要查看给定接口的统计信息,请使用Up和Down箭头选择它。但是,要仅监视特定接口,需在命令行上将其指定为参数。

-p设置了一个策略,定义要显示哪些网络接口,在下面的示例中,我们将监控enp1s0网络接口:

$ bmon -p enp1s0

使用每秒位数而非每字节数,使用-b:

$ bmon-bp enp1s0

还可以使用bmon输入模块提供有关接口统计数据,如netlink 使用 Netlink 协议从内核收集接口和流量控制统计信息。这是默认的输入模块。proc从/proc/net/dev文件中读取接口统计信息。它被视为传统接口,并提供向后兼容。如果 Netlink 接口不可用,它是一个后备模块。dummy是一个用于调试和测试目的的可编程输入模块。null 禁用数据收集。

查找关于模块的其他信息,可以使用help选项设置调用。如:

$ bmon -i netlink:help

启用proc输入模块的情况下调用bmon:

$ bmon -i proc -p enp1s0

bmon还可以使用输出模块来显示或导出上述输入模块收集到的统计数据,如curses是基于curses的交互式文本用户界面,展示实时速率估计和每个属性的图形表示,是默认输出模式。Ascii是一种简单的可编程文本输出,提供向控制台显示接口列表、详细计数器和图标。在curses不可用时,默认的后备输出模式。Format是一种完全可编写脚本的输出模式,供其他程序使用,在后期使用脚本或程序中也可以使用输出值来分析。null表示这将禁用输出。

以ascii输出模式调用bmon:

$ bmon -p enp1s0 -o ascii  

也可以运行格式输出模块,再使用获得值进行脚本编写或其他程序:

$ bmon -p enp1s0 -o format

如果想了解更多使用咨询,还可以阅读bmon的手册页面 :

$ man bmon

 

JTTI-Defl
JTTI-COCO
JTTI-Selina
JTTI-Ellis
JTTI-Eom