2008-09-16 8 views
1

Dans un système basé sur Linux (en particulier, Ubuntu Server 8.04), comment pouvez-vous mesurer la bande passante descendante par utilisateur? Idéalement, je voudrais une méthode qui fournit des données directement au lieu d'avoir à exécuter un autre processus et à analyser sa sortie. J'ai une technique pour mesurer la bande passante en amont par utilisateur en configurant un filtre iptables par utilisateur et en vérifiant leurs compteurs à intervalles réguliers, mais cela ne semble pas être supporté pour les connexions en aval, car iptables vérifie les paquets avant qu'ils sont routés vers un processus.Comment mesurez-vous la bande passante en aval par utilisateur?

[edit 20080916 153434 EST] Par "par utilisateur", je veux dire les comptes littéraux sur le système. C'est-à-dire, tout compte avec un UID réel POSIX possédant des processus en cours. Donc, pour Ubuntu Server 8.04, les mesures incluraient des valeurs pour root, www-data, mon propre compte, etc.

+0

Pouvez-vous préciser ce que vous entendez par "base par utilisateur"? Les utilisateurs se connectent-ils via PPP ou un autre mécanisme, puis routent le trafic à travers vous, ou des personnes se connectent-elles à la machine et l'utilisent-elles localement? –

Répondre

1

Je ne vois pas de moyen évident de le faire comme implémenté, mais je m'attendrais à ce que ce soit quelque chose pourrait faire avec un module personnalisé ip_conntrack. Vous capturer l'UID lors de la création de l'entrée conntrack, puis appliquer ce même ID dans les deux directions.

Questions connexes