全国统一学习专线

一大波你可能不知道的 Linux 网络工具 快快来收藏

logo
来源:七品教育

2024-04-03|已帮助:94

进入 >

文章来源:马可Linux运维链接:http://985.so/buc1r

如:nethogs、ntopng、nload、iftop、iptraf、bmon、slurm、tcptrack、cbm、netwatch、collect 1、trafshow、cacti、etherape、ipband、jnettop、netspeed以及速度计。

1) nethogs

Download: http://SourceForge. net/Projects/nethogs/files/nethogs/0.8/nethogs-0.8.0.tar.gz/download A Linux operating system user can display the download and upload rate of the Transmission Control Protocol of each process by using a net worm.

nethogs -p wlan0

如果你想知道更多关于nethogs的信息并深入探究,请不要犹豫阅读我们在这个网络带宽监控工具上完成的整个教程。

2) nload

Nload命令行工具是一个控制台应用程序,可用于实时监控网络流量和带宽使用情况。它还提供了两个易于理解的图表来可视化流量,并且视图比例可以调整。

这个奇妙的网络监控工具还可以在监控过程中切换被监控设备,只需按左右箭头即可。它使用简单,不支持许多选项。从上面的截图可以看出,nload提供的图表非常容易理解。

Nload提供有用的信息,还显示传输的数据总量和最小/最大网络速率等信息。更酷的是,你只需要直接运行nload。这个命令非常简短,很容易记住:

nload

我确信我们关于如何使用nload的详细教程将会帮助新的Linux用户,甚至帮助那些正在寻找关于nload的信息的人。

安装nload:Fedora和Ubuntu在默认的软件库中都有nload。CentOS用户需要从Epel软件库中获取nload。

3) slurm

Slurm是另一个网络负载监视器,可以显示设备的统计信息,也可以显示ASCII图形。它还支持很多按钮进行交互,比如C用于切换到经典模式,S用于切换到拆分模式,R用于重绘屏幕,

l用于启用TX/RX灯(注:TX,发送流量;RX,接收流量),m用于在经典分割模式和大模式之间切换,q退出slurm。Slurm的功能很简单,

无法显示任何有关网络负载的详细信息。在网络负载监控工具slurm中还有许多其他按钮,您可以通过使用以下命令在man手册中轻松地学习它们。

man slurm

Slurm可以在Ubuntu和Debian的官方软件仓库中找到,因此使用这些发行版的用户可以通过使用apt-get安装命令轻松下载它,如下所示:

sudo apt-get install slurm

我们已经在教程中介绍了slurm的用法。别忘了把这些知识分享给其他使用Linux的朋友。

4) iftop

Iftop是linux下类似top的实时流量监控工具。比iptraf更直观。

下载:http://www。前鹦鹉。com/~ PDW/if top/

当你想显示每台连接到网卡的主机的带宽使用情况时,Iftop是一个非常有用的工具。根据man手册,iftop在指定的接口或者在它能找到的第一个接口(如果没有特殊情况,

它应该是一个外部接口)来监控网络流量,并显示一个表格来显示一对主机之间的当前带宽使用情况。通过在虚拟终端中使用以下命令,

Ubuntu和Debian用户可以很容易地在他们的机器上安装iftop:

sudo apt-get install iftop

在您的机器上,您可以使用以下命令通过yum安装iftop:

yum -y install iftop

5) collectl

collect 1可以用来收集描述当前系统状态的数据,它支持以下两种模式:记录模式回放模式记录模式允许从正在运行的系统中读取数据,然后在终端中显示这些数据。

或者写入一个或多个文件或套接字。回放模式基于手册,其中数据是从记录模式生成的一个或多个数据文件中读取的。

Ubuntu和Debian用户可以使用他们默认的包管理器在他们的机器上安装colletcl。以下命令将为他们完成这项工作:

sudo apt-get install collectl

您也可以使用下面的命令来安装collect 1,因为对于这些发行版(注意:这里指的是yum作为包管理器的发行版),它们的官方软件仓库中也包含collect 1:

yum install collectl

6) Netstat

Netstat是一个接口统计命令行工具,用于监控传入和传出网络数据包的统计信息。它将显示TCP连接(包括上行链路和下行链路)、路由表以及一系列网络接口(网卡或SDN接口)和网络协议统计数据。

Ubuntu和Debian用户可以使用默认的包管理器在他们的机器上安装netstat。Netsta软件包含在net-tools软件包中,

您可以通过在shell或虚拟终端中运行以下命令来安装它:

sudo apt-get install net-tools

CentOS、Fedora和RHEL的用户可以使用默认的软件包管理器在他们的机器上安装netstat。Netstat软件包含在net-tools软件包中。

您可以通过在shell或虚拟终端中运行以下命令来安装它:

yum install net-tools

运行以下命令,使用Netstat轻松监控网络数据包统计信息:

netstat

有关netstat的更多信息,我们可以简单地在shell或终端中键入mannestat来理解:

man netstat

7) Netload

netload命令只显示当前网络负载和程序运行以来传输的数据总字节数的简要报告,它没有更多功能。它是netdiag软件的一部分。

我们可以使用yum在fedora中安装Netload,因为它在fedora的默认软件仓库中。但是如果你运行的是CentOS或者RHEL,我们需要安装rpmforge软件仓库。

# yum install netdiag

在默认存储库中,Netload是netdiag的一部分,我们可以很容易地使用以下命令来安装带有apt软件包管理器的netdiag:

$ sudo apt-get install netdiag

为了运行netload,我们需要确保选择工作网络接口的名称,例如eth0、eh1、wlan0、mon0等。然后在shell或虚拟终端中运行以下命令:

$ netload wlan2

注意:请用您要使用的网络接口名称替换上面的wlan2。如果您想通过扫描知道您的网络接口名称,您可以在虚拟终端或shell中运行ip link show命令。

8) Nagios

Nagios是一个领先的强大的开源监控系统,它使网络或系统管理员能够在各种服务器问题影响服务器的主要事务之前发现并解决这些问题。对于Nagios系统,

管理员可以在单一窗口中监控远程Linux、Windows系统、交换机、路由器和打印机。它将显示重要的警告,并指出是否有一些故障在您的网络或服务器。

这可以间接地帮助您在问题发生之前采取补救措施。Nagios有一个带有图形化活动监视器的web界面。

您可以通过浏览网页http://localhost/nagios/或http://localhost/nagios3/来登录此web界面。如果您在远程机器上操作,

请用您的IP地址替换localhost,然后键入用户名和密码,我们将看到下图所示的信息:

9) EtherApe

EtherApe是一个用于Unix的图形化网络监控工具,它是仿照etherman软件开发的。它支持链路层、IP和TCP模式,

它还支持以太网、FDDI、令牌环、ISDN、PPP、SLIP和WLAN设备等接口,以及一些封装格式。主机和连接会随着流量和协议改变它们的大小和颜色。它可以过滤要显示的流量,

并且可以从文件或运行的网络中读取数据包。在CentOS、Fedora和RHEL等Linux发行版中安装etherape很容易。

因为在他们的官方软件仓库里可以找到etherape。我们可以使用yum包管理器安装它,如下所示:

yum install etherape

我们还可以使用apt包管理器,通过使用以下命令在Ubuntu、Debian及其衍生发行版中安装EtherApe:

sudo apt-get install etherape

在您的系统上安装了etherape之后,我们需要以root权限运行EtherApe,如下所示:

sudo etherape

然后,将执行etherape的图形用户界面。然后,在菜单上的捕获选项下,我们可以选择模式(IP、链路层、TCP)和接口。一切设置好后,我们需要点击开始按钮。

接着我们便会看到类似下面截图的东西:

10) tcpflow

tcpflow 是一个命令行工具,它可以捕捉TCP 连接(流)的部分传输数据,并以一种方便协议分析或除错的方式来存储数据。它重构了实际的数据流并将每个流存储在不同的文件中,以备日后的分析。

它能识别TCP 序列号并可以正确地重构数据流,不管是在重发还是乱序发送状态下。通过apt 包管理器在Ubuntu 、Debian 系统中安装tcpflow 是很容易的,

因为默认情况下在官方软件仓库中可以找到它。

$ sudo apt-get install tcpflow

我们可以使用下面的命令通过yum 包管理器在Fedora 、CentOS 、RHEL 及它们的衍生发行版本中安装tcpflow:

# yum install tcpflow

假如在软件仓库中没有找到它或不能通过yum 包管理器来安装它,

则我们需要像下面展示的那样从http://pkgs.repoforge.org/tcpflow/上手动安装它:假如你运行64 位的PC:

# yum install --nogpgcheck http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.x86_64.rpm

假如你运行32 位的PC:

# yum install --nogpgcheck http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.i686.rpm

我们可以使用tcpflow 来捕捉全部或部分tcp 流量,并以一种简单的方式把它们写到一个可读的文件中。下面的命令就可以完成这个事情,但我们需要在一个空目录中运行下面的命令,

因为它将创建诸如x.x.x.x.y-a.a.a.a.z 格式的文件,运行之后,只需按Ctrl-C 便可停止这个命令。

$ sudo tcpflow -i eth0 port 8000

注意:请将上面的eth0 替换为你想捕捉的网卡接口名称。

11) IPTraf

IPTraf 是一个针对Linux 平台的基于控制台的网络统计应用。它生成一系列的图形,

如TCP 连接的包/字节计数、接口信息和活动指示器、 TCP/UDP 流量故障以及局域网内设备的包/字节计数。在默认的软件仓库中可以找到IPTraf,

所以我们可以使用下面的命令通过apt 包管理器轻松地安装IPTraf:

$ sudo apt-get install iptraf

我们可以使用下面的命令通过yum 包管理器轻松地安装IPTraf:

# yum install iptraf

我们需要以管理员权限来运行IPTraf,并带有一个有效的网络接口名。这里,我们的网络接口名为wlan2,所以我们使用wlan2 来作为参数:

$ sudo iptraf wlan2

开始通常的网络接口统计,键入:

# iptraf -g

查看接口eth0 的详细统计信息,使用:

# iptraf -d eth0

查看接口eth0 的TCP 和UDP 监控信息,使用:

# iptraf -z eth0

查看接口eth0 的包的大小和数目,使用:

# iptraf -z eth0

注意:请将上面的eth0 替换为你的接口名称。你可以通过运行ip link show命令来检查你的接口。

12) Speedometer

Speedometer 是一个小巧且简单的工具,它只用来绘出一幅包含有通过某个给定端口的上行、下行流量的好看的图。在默认的软件仓库中可以找到Speedometer ,

所以我们可以使用下面的命令通过yum 包管理器轻松地安装Speedometer:

# yum install speedometer

我们可以使用下面的命令通过apt 包管理器轻松地安装Speedometer:

$ sudo apt-get install speedometer

Speedometer 可以简单地通过在shell 或虚拟终端中执行下面的命令来运行:

$ speedometer -r wlan2 -t wlan2

注:请将上面的wlan2 替换为你想要使用的网络接口名称。

13) Netwatch

Netwatch 是netdiag 工具集里的一部分,它也显示当前主机和其他远程主机的连接情况,以及在每个连接中数据传输的速率。我们可以使用yum 在fedora 中安装Netwatch,

因为它在fedora 的默认软件仓库中。但若你运行着CentOS 或RHEL , 我们需要安装rpmforge 软件仓库。

# yum install netwatch

Netwatch 是netdiag 的一部分,可以在默认的软件仓库中找到,所以我们可以轻松地使用下面的命令来利用apt 包管理器安装netdiag:

$ sudo apt-get install netdiag

为了运行netwatch, 我们需要在虚拟终端或shell 中执行下面的命令:

$ sudo netwatch -e wlan2 -nt

注意:请将上面的wlan2 替换为你想使用的网络接口名称,假如你想通过扫描了解你的网络接口名称,可以在一个虚拟终端或shell 中运行ip link show 命令。

14) Trafshow

Trafshow 同netwatch 和pktstat 一样,可以报告当前活动的连接里使用的协议和每个连接中数据传输的速率。它可以使用pcap 类型的过滤器来筛选出特定的连接。

我们可以使用yum 在fedora 中安装trafshow ,因为它在fedora 的默认软件仓库中。但若你正运行着CentOS 或RHEL , 我们需要安装rpmforge 软件仓库。

# yum install trafshow

Trafshow 在默认仓库中可以找到,所以我们可以轻松地使用下面的命令来利用apt 包管理器安装它:

$ sudo apt-get install trafshow

为了使用trafshow 来执行监控任务,我们需要在虚拟终端或shell 中执行下面的命令:

$ sudo trafshow -i wlan2

为了专门监控tcp 连接,如下面一样添加上tcp 参数:

$ sudo trafshow -i wlan2 tcp

注意:请将上面的wlan2 替换为你想使用的网络接口名称,假如你想通过扫描了解你的网络接口名称,可以在一个虚拟终端或shell 中运行ip link show 命令。

15) Vnstat

与大多数的其他工具相比,Vnstat 有一点不同。实际上它运行着一个后台服务或守护进程,并时刻记录着传输数据的大小。另外,它可以被用来生成一个网络使用历史记录的报告。我们需要开启EPEL 软件仓库,

然后运行yum 包管理器来安装vnstat。

# yum install vnstat

Vnstat 在默认软件仓库中可以找到,所以我们可以使用下面的命令运行apt 包管理器来安装它:

$ sudo apt-get install vnstat

不带有任何选项运行vnstat 将简单地展示出从该守护进程运行后数据传输的总量。

$ vnstat

为了实时地监控带宽使用情况,使用‘-l’ 选项(live 模式)。然后它将以一种非常精确的方式来展示上行和下行数据所使用的带宽总量,但不会显示任何有关主机连接或进程的内部细节。

$ vnstat -l

完成了上面的步骤后,按Ctrl-C 来停止,这将会得到如下类型的输出:

16) tcptrack

tcptrack 可以展示TCP 连接的状态,它在一个给定的网络端口上进行监听。tcptrack 监控它们的状态并展示出排序且不断更新的列表,包括来源/目标地址、带宽使用情况等信息,

这与top 命令的输出非常类似。鉴于tcptrack 在软件仓库中,我们可以轻松地在Debian、Ubuntu 系统中从软件仓库使用apt 包管理器来安装tcptrack。为此,

我们需要在shell 或虚拟终端中执行下面的命令:

$ sudo apt-get install tcptrack

我们可以通过yum 在fedora 中安装它,因为它在fedora 的默认软件仓库中。但若你运行着CentOS 或RHEL 系统,我们需要安装rpmforge 软件仓库。为此,

我们需要运行下面的命令:

# wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm# rpm -Uvh rpmforge-release*rpm# yum install tcptrack

注:这里我们下载了rpmforge-release 的当前最新版本,即0.5.3-1,你总是可以从rpmforge 软件仓库中下载其最新版本,并请在上面的命令中替换为你下载的版本。

tcptrack 需要以root 权限或超级用户身份来运行。执行tcptrack 时,我们需要带上要监视的网络接口TCP 连接状况的接口名称。这里我们的接口名称为wlan2,

所以如下面这样使用:

sudo tcptrack -i wlan2

假如你想监控特定的端口,则使用:

# tcptrack -i wlan2 port 80

请替换上面的80 为你想要监控的端口号。注意:请将上面的wlan2 替换为你想使用的网络接口名称,假如你想通过扫描了解你的网络接口名称,

可以在一个虚拟终端或shell 中运行ip link show 命令。

17) CBM

CBM ( Color Bandwidth Meter) 可以展示出当前所有网络设备的流量使用情况。这个程序是如此的简单,以至于都可以从它的名称中看出其功能。

CBM 的源代码和新版本可以在http://www.isotton.com/utils/cbm/上找到。鉴于CBM 已经包含在软件仓库中,

我们可以简单地使用apt 包管理器从Debian、Ubuntu 的软件仓库中安装CBM。为此,我们需要在一个shell 窗口或虚拟终端中运行下面的命令:

$ sudo apt-get install cbm

我们只需使用下面展示的命令来在shell 窗口或虚拟终端中运行cbm:

$ cbm

18) bmon

Bmon ( Bandwidth Monitoring) ,是一个用于调试和实时监控带宽的工具。这个工具能够检索各种输入模块的统计数据。它提供了多种输出方式,包括一个基于curses 库的界面,

轻量级的HTML输出,以及ASCII 输出格式。bmon 可以在软件仓库中找到,所以我们可以通过使用apt 包管理器来在Debian、Ubuntu 中安装它。为此,

我们需要在一个shell 窗口或虚拟终端中运行下面的命令:

$ sudo apt-get install bmon

我们可以使用下面的命令来运行bmon 以监视我们的网络状态:

$ bmon

19) tcpdump

TCPDump 是一个用于网络监控和数据获取的工具。它可以为我们节省很多的时间,并可用来调试网络或服务器的相关问题。它可以打印出在某个网络接口上与布尔表达式相匹配的数据包所包含的内容的一个描述。

tcpdump 可以在Debian、Ubuntu 的默认软件仓库中找到,我们可以简单地以sudo 权限使用apt 包管理器来安装它。为此,

我们需要在一个shell 窗口或虚拟终端中运行下面的命令:

$ sudo apt -get install tcpdump

tcpdump 也可以在Fedora、CentOS、RHEL 的软件仓库中找到。我们可以像下面一样通过yum 包管理器来安装它:

# yum install tcpdump

tcpdump 需要以root 权限或超级用户来运行,我们需要带上我们想要监控的TCP 连接的网络接口名称来执行tcpdump 。在这里,我们有wlan2 这个网络接口,

所以可以像下面这样使用:

$ sudo tcpdump -i wlan2

假如你只想监视一个特定的端口,则可以运行下面的命令。下面是一个针对80 端口(网络服务器)的例子:

$ sudo tcpdump -i wlan2 'port 80'

20) ntopng

ntopng 是ntop 的下一代版本。它是一个用于展示网络使用情况的网络探头,在一定程度上它与top 针对进程所做的工作类似。ntopng 基于libpcap 并且它以可移植的方式被重写,

以达到可以在每一个Unix 平台、 MacOSX 以及Win32 上运行的目的。为了在Debian,Ubuntu 系统上安装ntopng,

首先我们需要安装编译ntopng 所需的依赖软件包。你可以通过在一个shell 窗口或一个虚拟终端中运行下面的命令来安装它们:

$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev build-essential checkinstall

现在,我们需要像下面一样针对我们的系统手动编译ntopng :

$ sudo wget http://sourceforge.net/projects/ntop/files/ntopng/ntopng-1.1_6932.tgz/download$ sudo tar zxfv ntopng-1.1_6932.tgz$ sudo cd ntopng-1.1_6932$ sudo ./configure$ sudo make$ sudo make install

这样,在你的Debian 或Ubuntu 系统上应该已经安装上了你编译的ntopng 。我们已经有了有关ntopng 的使用方法的教程,它既可以在命令行也可以在Web 界面中使用,

我们可以前往这些教程来获得有关ntopng 的知识。

结论

在这篇文章中,我们介绍了一些在Linux 下的网络负载监控工具,这对于系统管理员甚至是新手来说,都是很有帮助的。在这篇文章中介绍的每一个工具都具有其特点,不同的选项等,

但最终它们都可以帮助你来监控你的网络流量。

以上是七品教育整理的一大波你可能不知道的 Linux 网络工具 快快来收藏全部内容。