如何在Linux上使用bmon监视网络带宽
使用bmon
Linux应用程序,我们可以查看网络连接上的带宽使用情况。但是,了解更详细的细节需要进行一些侦探工作,因此我们已为我们完成了!
bmon如何运作
动态图和实时统计数据显示了我们各种网络接口上的活动,可以使我们对网络的性能和带宽消耗有个深刻的了解。这正是bmon
在终端窗口中为我们提供的。
我们可以不时浏览一下图表,就像我们车上的速度表一样。同样,如果需要检查车辆上的某些物品,那么技工可能会将其连接到诊断系统并检查读数。 bmon具有类似的详细读数。
必须说,尽管" bmon"命令的统计信息起初可能令人困惑。例如,有三个称为Ip6 Reasm / Frag。那是怎么回事?
但是,一旦我们破解了代码,如果我们想更详细地了解网络流量,该命令的读数将非常宝贵。
我们已经为我们完成了工作,甚至检查了源代码以深入了解其中的一些内容。值得庆幸的是,关于" bmon"的所有其他事情都相当简单。
安装bmon
要在Ubuntu上安装bmon
,请使用以下命令:
sudo apt-get install bmon
要在Fedora上安装,请键入以下内容:
sudo dnf install bmon
对于Manjaro,命令如下:
sudo pacman -Sy bmon
bmon显示
输入bmon
并按Enter启动程序。 " bmon"显示分为几个窗格。前三个标记为接口,RX和TX。中央窗格显示详细的统计信息和图形。
"接口"窗格向我们显示计算机所配备的网络接口。它还显示了每个网络接口正在使用的排队规则(qdisc)(稍后将详细介绍)。
RX窗格显示每个接口及其队列的每秒接收的位和每秒的数据包。 TX窗格显示每个接口及其队列的每秒传输位和每秒数据包。
在我们的计算机上,我们仅安装了两个接口:回送接口(也称为回送适配器)和有线以太网适配器。环回接口称为lo,而以太网接口称为enp0s3.
我们计算机上的以太网适配器的名称可能不同。如果我们使用的是笔记本电脑,则还会看到无线适配器,其名称可能以wl开头。
bmon显示有关当前所选网络接口的信息。所选界面是旁边带有突出显示的大于号(>
)的界面。我们可以按向上和向下箭头移动大于号并选择要监视的接口。我们选择了以太网适配器。
现在我们处于活动的网络接口上,我们在图形和读数中看到了一些活动。如果没有看到任何图形,请向下拉伸终端窗口。
按左右箭头键更改所绘制的统计信息。对于某些图形,我们必须先按H键,然后才能填充它们。那些需要这样做的人会告诉你。
要查看网络接口的统计信息,请拉伸终端窗口,直到它足够高以显示它们,然后按D来显示它们。如果按I(获取信息),则会看到少量其他信息。
如果最大化终端窗口,它将显示多个图形。按小于(<)和大于(>)来添加或者删除图形对。如果按G,它将完全切换显示的图形。
当我们按下问号(?)时,我们会看到带有常见按键的快速参考帮助屏幕。
再次按问号(?)以关闭"快速参考"屏幕。
详细统计
如果终端窗口足够高且足够宽(如果没有,则将其拉伸),可以按D启用和禁用详细视图。
我们看到的列数取决于终端窗口的宽度。在标准的80列终端窗口中,我们将看到两个。窗口越宽,我们看到的列越多。但是,我们不会在更大的窗口范围内获得更多统计信息;我们仍然会看到相同的一组数字。但是列会更短。
每列的顶部条目可能使我们认为左侧的信息以字节为单位显示信息,而右侧的信息以包为单位显示信息。但是,事实并非如此。
每列包含一组统计信息。将为每个统计信息显示值的名称以及已接收(RX)和已发送(TX)值。如果有任何值显示为连字符(-
),则表示未记录该方向的统计信息。
某些统计信息仅向内(接收)或者向外(传输)。例如,传输列中的连字符(-)表示该统计信息对于传出数据包无效,并且仅适用于传入数据包。第一行以字节(左侧)和数据包(右侧)显示接收和发送的流量。
所有其他统计信息均按字母顺序列出,从一列跳到另一列。其中几个共享相同的名称。我们将在下面解释它们的全部含义。我们还拼出了缩写名称。如果未提及IPv6,则该统计信息指的是IPv4.
左栏中的统计信息如下:
字节:以字节为单位的流量。
中止错误:中止错误计数。在源和目标之间的连接路径中的某个位置,某个软件导致连接中断。
碰撞:碰撞错误计数。两个或者更多设备尝试同时发送数据包。在全双工网络中这不应该是一个问题。
CRC错误:循环冗余校验错误的计数。
错误:错误总数。
帧错误:帧错误计数。框架是数据包的网络容器。错误表示检测到格式错误的帧。
ICMPv6:Internet控制消息协议v6流量数据包的数量。
ICMPv6错误:ICMP v6错误的计数。
Ip6广播:发送到网络上所有设备的IPv6广播计数。
Ip6 CE数据包:CE代表客户边缘。这通常适用于路由器。它们与客户订阅的连接服务的提供商边缘(PE)连接。
Ip6交付:传入IPv6数据包的计数。
Ip6 ECT(1)数据包:显式拥塞通知(ECN)允许网络连接的任一端向即将发生的拥塞警告。数据包标记有作为警告的标志。接收端可以降低传输速率,以尝试避免拥塞和可能的数据包丢失。支持ECN的传输(ECT)数据包带有标记,以指示它们正在通过支持ECN的传输进行传输。这允许中间路由器做出相应的反应。类型1 ECN数据包告诉接收端启用ECN并将其添加到传出传输中。
Ip6标头错误:IPv6标头中有错误的数据包计数。
Ip6组播数据包:IPv6组播(一种广播形式)数据包的计数。
Ip6非ECT数据包:未标记为ECT(1)的IPv6数据包的计数。
Ip6重组/分片OK:由于大小而被分片并在接收时成功重组的IPv6数据包的计数。
Ip6重组超时:由于大小而被分段但由于超时而未能在接收时重组的IPv6数据包的计数。
Ip6截断数据包:截断数据包的计数。传输IPv6数据包时,可以将其标记为截断的候选对象。如果任何中间路由器由于超出最大传输单位(MTU)而无法处理数据包,则路由器会截断该数据包,将其标记为该数据包,然后将其转发到目的地。收到后,远端可以将ICMP数据包发送回源,指示其更新其MTU估计值以缩短其数据包。
Ip6丢弃:丢弃的IPv6数据包的计数。如果源和目标之间的任何设备未正确设置,并且其IPv6设置不起作用,则它们将无法处理IPv6流量;它将被丢弃。
Ip6数据包:所有类型的IPv6数据包的总数。
错过的错误:传输中丢失的数据包计数。数据包已编号,因此可以重新创建原始消息。如果有任何缺失,那么他们的缺席是显而易见的。
No Handler:没有找到协议处理程序的数据包计数。
窗口错误:窗口错误计数。数据包的窗口是报头中的八位位组数。如果它包含一个异常数字,则无法解释标头。
右栏中的统计信息如下:
数据包:以数据包为单位的流量。
运营商错误:运营商错误的计数。如果信号调制出现问题,则会发生这些情况。这可能表示网络设备之间的双工不匹配或者电缆,插座或者连接器的物理损坏。
压缩:压缩包的数量。
丢弃:丢弃的数据包数量,导致未能到达目的地(可能是由于拥塞)。
FIFO错误:先进先出(FIFO)缓冲区错误的计数。网络接口传输缓冲区正在运行,因为它没有足够快地被清空。
心跳错误:硬件或者软件可能会利用常规信号来表明它们正常运行或者允许同步。这里的数字是丢失了多少个心跳。
ICMPv6校验和错误:Internet控制消息协议v6消息校验和错误的计数。
ip6地址错误:由于错误的IPv6地址而导致的错误计数
Ip6广播数据包:IPv6广播数据包的计数。
Ip6校验和错误:IPv6校验和错误的计数。 IPv6中的ICMP和用户数据报协议(UDP)数据包使用校验和,但常规IPv6 IP数据包不使用校验和。
Ip6 ECT(0)数据包:与ECT(1)数据包相同。
Ip6转发:单播转发的IPv6报文数。单播通过中间路由器和转发器链将数据包从源跳到目的地。
Ip6组播:传送的IPv6数据包的组播转发数。组播同时将数据包发送到一组目的地(这是Wi-Fi的工作方式)。
Ip6 No Route:无路由错误计数。这意味着目的地无法到达,因为无法计算到远端的路线
Ip6重组/分段失败:由于大小而被分段并且在接收时未能重新组装的IPv6数据包的计数。
Ip6重组/分段请求:由于大小而被分段并且必须在接收时进行重组的IPv6数据包的计数。
Ip6太大错误:接收到的ICMP太大消息的数量,表示发送的IPv6数据包大于最大传输单位。
Ip6未知协议错误:使用未知协议接收的数据包计数。
Ip6八位位组:接收和发送的八位位组的数量。 IPv6的标头为40个八位位组(320位,每八位位组8位),最小数据包大小为1,280个八位位组(10,240位)。
长度错误:到达报头的长度值比最小可能的数据包长度短的数据包数量。
组播:组播广播的计数。
过度错误:过度错误的计数。或者接收缓冲区溢出,或者数据包到达的帧值大于所支持的帧值,因此无法接受它们。
添加信息
如果按I(如在Info中),它将切换其他信息窗格。如果没有出现其他信息,则窗口不够大。我们可以按D键关闭详细统计信息,按G键关闭图形,或者可以拉伸窗口。
添加信息如下:
MTU:最大传输单位。
运营状态:网络接口的运行状态。
地址:网络接口的媒体访问控制(MAC)地址。
模式:通常设置为"默认",但我们会看到"隧道","甜菜"或者" ro"。前三个与IP安全性(IPSec)有关。 "默认"设置通常是"传输"模式,其中有效负载被加密。客户端到站点的虚拟专用网络(VPN)通常使用此功能。站点到站点的VPN通常使用"隧道"模式,在这种模式下,整个数据包都被加密。在绑定的端到端隧道(beet)模式下,会在两个具有固定,隐藏IP地址和其他可见IP地址的设备之间创建隧道。 ro模式是用于移动IPv6的路由优化方法。
家族:正在使用的网络协议家族。
Qdisc:排队纪律。可以将其设置为" red"(随机早期检测)," codel"(受控延迟)或者" fq_codel"(具有受控延迟的公平排队)。
标志:这些指示器显示网络连接的功能。我们的连接可以使用"广播"和"多播"传输,并且接口为"打开"(可操作且已连接)。
IfIndex:接口索引是与网络接口关联的唯一标识号。
广播:广播的MAC地址。发送到该地址会将接收到的数据包广播到所有设备。
TXQlen:传输队列大小(容量)。
别名:IP别名为物理网络连接提供了多个IP地址。然后,它可以通过一个网络接口卡提供对不同子网的访问。我们的测试计算机上没有使用别名。