Socket-basierte Bytezählungen

Socket-basierte Bytezählungen

Ich sehe viele Tools zum Abrufen der RX- und TX-Byteanzahl für die Übertragung über Schnittstellen. Gibt es irgendein Tool/Programm, mit dem ich die Gesamtzahl der übertragenen Bytes für einen einzelnen angegebenen Socket abrufen kann?

Ich versuche, die Nutzung des Dienstes durch Benutzer zu begrenzen. Beispielsweise hat Benutzer Nummer 23 20 GiB Transfer gekauft und gerade eine 1 GiB große Linux-ISO heruntergeladen. Jetzt sollte ihm 1 GiB weniger Transfer übrig bleiben.

Das Problem ist, dass ich eine Cloud-basierte Lösung verwende. Ich habe eine gemeinsame Schnittstelle, die jeder Benutzer verwenden würde, und ich weiß nicht, ob ich SNMP verwenden kann, da ich die Hardwarespezifikationen nicht kenne. (Ich weiß auch nicht genau, was SNMP ist oder ob es spezielle Hardware erfordert.)

Ich möchte nur die Übertragungen pro Benutzer verfolgen, vielleicht pro Socket oder Adresse, oder das ist nicht möglich. Gibt es etwas, das dem ähnelt, was ich suche?

Antwort1

Es gibt keine Zähler pro Socket, die Sie abfragen können, insbesondere, da es nach dem Schließen eines Sockets nichts mehr abzufragen gibt.

Sie können beispielsweise eine Reihe von iptablesRegeln mit unterschiedlichen --uid-ownerOptionen und -j ACCEPTZielen installieren. Diese Regeln blockieren nichts, aber die Zähler jeder Regel (sichtbar mit iptables -L -n -v) zählen Pakete und Bytes pro Benutzer. Beachten Sie jedoch, dass nur ausgehender Datenverkehr gezählt wird (denn eingehender Datenverkehr kommt nicht von einem Benutzer, sondern vom Netzwerk).

verwandte Informationen