Monitorizar el ancho de banda (bandwidth) con iftop.
Iftop es una utilidad basada en consola / terminal opensource, especialmente indicada para el monitoreo de uso del ancho de banda de una red o servidor (hosts de origen y de destino).
Iftop mide todo el trafico que pasa por la interfaz de red del sistema.
Esta herramienta nos muestra la lista actualizada, y en tiempo real del ancho de banda de uso de la red. Lo hace mediante promedios que se visualizan en estos espacios de tiempo:
- Cada 2 segundos
- Cada 10 segundos
- Cada 40 segundos
En este articulo vemos como instalarlo y su posterior uso en Linux.
Monitorizar el ancho de banda (bandwidth) con iftop
Antes de proceder a su instalación, debemos instalar las librerías requeridas para su correcto funcionamiento.
Rhel, CentOS y derivados:
yum -y install libpcap libpcap-devel ncurses ncurses-devel
Debian, Ubuntu, Linux Mint y derivados:
sudo apt install libpcap0.8 libpcap0.8-dev libncurses5 libncurses5-dev
Una vez instaladas las dependencias continuamos la instalación (en Rhel y CentOS debemos tener instalado el repositorio Epel).
Instalar iftop en Rhel, CentOS y derivados:
yum install iftop
Instalar iftop en Debian, Ubuntu, Linux Mint y derivados:
sudo apt install iftop
Instalar iftop en OpenSuse:
Desde su repositorio oficial… https://software.opensuse.org/package/iftop
Uso de iftop
Si tenemos varias interfaces de red, debemos averiguar la que nos interesa con el comando…
ifconfig -a
en el ejemplo podemos ver como es «wlan0» la que tiene el trafico a medir…
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:03:25:30:66:95 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 1238 bytes 191086 (186.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1238 bytes 191086 (186.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.7 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::213:e8ff:fef1:b0d7 prefixlen 64 scopeid 0x20<link>
ether 00:13:e8:f1:b0:d7 txqueuelen 1000 (Ethernet)
RX packets 3556774 bytes 4593078757 (4.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1750980 bytes 185593859 (176.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
El comando de inicio de iftop, es:
iftop
o bien…
sudo iftop
El comando anterior es valido si solo tenemos una interfaz de red, si tenemos varias (como en el ejemplo) debemos definir la que queremos monitorizar, si no lo hacemos… la herramienta tomara por defecto el primer dispositivo, normalmente «eth0«.
Para definir la interface «wlan0» del ejemplo, usamos la opción «-i» y su nombre.
Por ejemplo…
iftop -i wlan0
imagen de salida correcta…
Otro ejemplo, este ya en un servidor web que hace uso de la interface «eth1«, sería:
iftop -i eth1
imagen de salida valida (se omite el nombre del host)…
Si revisas la propia ayuda de la herramienta descubrirás más opciones.
iftop --help
ayuda…
iftop: unknown option —
iftop: display bandwidth usage on an interface by host
Synopsis: iftop -h | [-npblNBP] [-i interface] [-f filter code]
[-F net/mask] [-G net6/mask6]
-h display this message
-n don’t do hostname lookups
-N don’t convert port numbers to services
-p run in promiscuous mode (show traffic between other
hosts on the same network segment)
-b don’t display a bar graph of traffic
-B Display bandwidth in bytes
-i interface listen on named interface
-f filter code use filter code to select packets to count
(default: none, but only IP packets are counted)
-F net/mask show traffic flows in/out of IPv4 network
-G net6/mask6 show traffic flows in/out of IPv6 network
-l display and count link-local IPv6 traffic (default: off)
-P show ports as well as hosts
-m limit sets the upper limit for the bandwidth scale
-c config file specifies an alternative configuration file
-t use text interface without ncurses
Sorting orders:
-o 2s Sort by first column (2s traffic average)
-o 10s Sort by second column (10s traffic average) [default]
-o 40s Sort by third column (40s traffic average)
-o source Sort by source address
-o destination Sort by destination address
The following options are only available in combination with -t
-s num print one single text output afer num seconds, then quit
-L num number of lines to print
Espero te resulte útil esta herramienta para monitorizar el ancho de banda.
[root@centos 7 ~]# yum install iftop
Complementos cargados:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: espejito.fder.edu.uy
* extras: espejito.fder.edu.uy
* updates: espejito.fder.edu.uy
No existe disponible ningún paquete iftop.
Error: Nada para hacer
Soy nuevo en en esto como hago para instalarlo supongo que en los repositorios que busca no esta como puedo cambiar o agregar mas repositorios.
En el articulo ya se indica que debes instalar el repositorio Epel, de hecho es prácticamente imprescindible en cualquier servidor o vps.
https://www.sololinux.es/instalar-repositorios-epel-ius-y-remi-en-centos-red-hat-y-fedora/