Medir el ancho de banda utilizado por uno o varios puertos (iptables / iftop)
Existen varias aplicaciones que permiten consultar el ancho de banda usado por uno a varios puertos específicos. Vamos a ver como se puede hacer con iptables y también con el comando iftopde manera simple. Veremos un ejemplo para saber qué cantidad de tráfico HTTP / HTTPS genera un servidor web.
iptables
No es necesario tener iptables arrancado o configurado de manera especial, simplemente con estas reglas podemos empezar a monitorizar de forma básica el ancho de banda de los puertos 80 y 443.
# Monitorizar puerto 80 (HTTP). iptables -A INPUT -p tcp --dport 80 iptables -A OUTPUT -p tcp --sport 80 # Monitorizar puerto 443 (HTTPS). iptables -A INPUT -p tcp --dport 443 iptables -A OUTPUT -p tcp --sport 443 # Visualizar. iptables -n -L -v # Visualización básica. iptables -n -L -v -x # Valores exactos. # Reiniciar contadores de bytes. iptables -Z
NOTA: Si se reinicia el servicio, el sistema operativo o se usa la opción “-F” o “-Z” se borrarán las métricas.
iftop
El comando iftop nos permite conocer el total de tráfico usado por uno o varios puertos de una manera más desglosada, no es sin duda el objetivo de la aplicación pero nos vale para medir el tráfico de determinados puertos.
Veamos un ejemplo mostrando únicamente el tráfico entrante y saliente de los puertos 80 y 443. Tendremos en cuenta también que el servidor web tiene una IPv4 y otra IPv6.
iftop -i eth1 -nNPBl -f "(src host (freetsa.org or 2605:6400:20:6c8:51b1:66a5:8c48:77e4) and src port 443) or (dst host (freetsa.org or 2605:6400:20:6c8:51b1:66a5:8c48:77.*) and dst port 443)"
Abajo a la izquierda tenemos las métricas totales. Si no se especifica el host origen y destino (src / dst) de esta manera, se mostrarían también las conexiones salientes del servidor a puertos 443 / 80 de servicios externos. Si se usa un dominio como host, hay que tener en cuenta que usará posiblemente su traducción IPv4, por lo que el tráfico IPv6 no será mostrado en tal caso por iftop.
Obtener gráficas del ancho de banda por puerto .
- Darkstart: https://unix4lyfe.org/darkstat/
Ancho de banda por aplicación en GNU/Linux .
Algo útil en determinados momentos es tener la posibilidad de medir el uso de ancho de banda por determinados proceso en sistemas GNU/Linux. Realizar esto requiere de privilegios ya que se está usando el kernel para obtener la información y además suele consumir recursos. Para ello actualmente tenemos disponibles las herramientas nethogs y sysdig (recomendada).