Recuento de bytes basado en sockets

Recuento de bytes basado en sockets

Veo muchas herramientas para obtener el recuento de bytes RX y TX para la transmisión en interfaces. ¿Existe alguna herramienta/programa que pueda usar para obtener un recuento total de bytes transmitidos para un único socket específico?

Estoy tratando de limitar el uso del servicio por parte de los usuarios, es decir, el usuario número 23 compró 20 GiB de transferencia y acaba de descargar un .iso de Linux de 1 GiB. Ahora deberían tener 1 GiB menos de transferencia restante.

El problema es que estoy usando una solución basada en la nube... Tengo una interfaz compartida que cada usuario usaría y no sé si puedo usar SNMP porque no conozco los detalles del hardware. (Tampoco sé muy bien qué es SNMP o si necesita hardware específico)

Solo estoy buscando realizar un seguimiento de las transferencias por usuario, tal vez sea por socket o dirección, o no sea posible. ¿Hay algo parecido a lo que estoy buscando?

Respuesta1

No hay contadores por socket que pueda consultar, especialmente porque una vez que se cierra un socket, ya no hay nada que consultar.

Una cosa que puedes hacer es instalar un montón de iptablesreglas con diferentes --uid-owneropciones y -j ACCEPTobjetivos. Estas reglas no bloquearán nada, pero los contadores de cada regla (visibles con iptables -L -n -v) contarán los paquetes y bytes por usuario. Tenga en cuenta que esto solo contará el tráfico saliente (porque el tráfico entrante no proviene de un usuario, sino de la red).

información relacionada