Estadísticas de tráfico por puerto de red

Estadísticas de tráfico por puerto de red

Tengo dos máquinas con dos aplicaciones que se comunican entre sí en algunos puertos de red (TCP y UDP). Quiero contar el tráfico que envían y reciben. Necesito no sólo el recuento general sino también estadísticas por máquina, por puerto y por día. Lo intentéestadística oscura, pero no proporciona estadísticas por día, sino sólo contadores generales.

¿Hay otra forma de contar ese tráfico (puedo colocar algún proxy o puerta de enlace entre esas dos máquinas)?

Respuesta1

iptables puede brindarle estadísticas sobre cuántas reglas se activaron, por lo que puede agregar reglas LOG en los puertos de interés (digamos el puerto 20 y el puerto 80):

iptables -A INPUT -p tcp --dport 22
iptables -A INPUT -p tcp --dport 80

y luego

iptables -n -L -v

le dará la cantidad de paquetes y bytes enviados a través de estos puertos. Por supuesto, tendrás que analizar desde la salida los puertos que te interesen.

Si necesita valores exactos, agregue -x:

iptables -n -L -v -x

Respuesta2

Puede agregar reglas de contabilidad a su configuración de iptables. Esto debe ocurrir antes de aceptar el tráfico ESTABLECIDO y RELACIONADO o no podrá contar el tráfico que pasa. Para contar el tráfico web, pruebe una regla como:

iptables -A INPUT -p tcp --dport 80 

Si tiene varios, es posible que desee crear una cadena de contabilidad para poder informar y poner a cero los contadores de forma aislada de otras cadenas.

ElMuro de la costaEl firewall le permite agregar fácilmente reglas de contabilidad a su conjunto de reglas.

Respuesta3

No olvide incluir estadísticas de tráfico de salida.

# Port 80 (HTTP).
iptables -A INPUT -p tcp --dport 80
iptables -A OUTPUT -p tcp --sport 80

# Port 443 (HTTPS).
iptables -A INPUT -p tcp --dport 443
iptables -A OUTPUT -p tcp --sport 443


iptables -n -L -v
iptables -n -L -v -x


iptables -n -L -v -x | grep -i "Chain\|:443\|:80"

Chain INPUT (policy DROP 357 packets, 22828 bytes)
 1286265 75076978 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:80
 1305378 75018232 ACCEPT tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp dpt:443

Chain OUTPUT (policy ACCEPT 303516 packets, 94716311 bytes)
     442   255112        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:80
      46    10515        tcp  --  *      *    0.0.0.0/0  0.0.0.0/0  tcp spt:443

Respuesta4

No está claro si necesita uso por IP de destino, perovnstates una herramienta útil para registrar el uso del tráfico por interfaz. Instálelo y luego ejecútelo vnstat -u -i eth0para cada interfaz que desee monitorear. Para luego obtener el uso por día vnstat -i eth0 -d.

información relacionada