Contagens de bytes baseadas em soquete

Contagens de bytes baseadas em soquete

Vejo muitas ferramentas para obter a contagem de bytes RX e TX para transmissão em interfaces. Existe alguma ferramenta/programa que eu possa usar para obter uma contagem total de bytes transmitidos para um único soquete especificado?

Estou tentando limitar o uso do serviço pelos usuários, ou seja, o usuário número 23 comprou 20 GiB de transferência e acabou de baixar um .iso linux de 1 GiB. Agora eles devem ter 1 GiB a menos de transferência restante.

O problema é que estou usando uma solução baseada em nuvem... Tenho uma interface compartilhada que cada usuário usaria e não sei se posso usar SNMP porque não conheço as especificações do hardware. (Também não sei bem o que é SNMP ou se precisa de hardware específico)

Estou apenas procurando rastrear transferências por usuário, talvez por soquete ou endereço, ou não seja possível. Existe algo próximo ao que estou procurando?

Responder1

Não há contadores por soquete que você possa consultar, especialmente porque quando um soquete é fechado, não há mais nada para consultar.

Uma coisa que você pode fazer é instalar um monte de iptablesregras com diferentes --uid-owneropções e -j ACCEPTalvos. Essas regras não bloquearão nada, mas os contadores de cada regra (visíveis com iptables -L -n -v) contarão pacotes e bytes por usuário. Observe que isso contará apenas o tráfego de saída (porque o tráfego de entrada não vem de um usuário, ele vem da rede).

informação relacionada