web-dev-qa-db-ja.com

ソケットベースのバイトカウント

インターフェイスで送信するためのRXおよびTXバイトカウントを取得するためのツールがたくさんありますが、指定した1つのソケットの合計送信バイト数を取得するために使用できるツール/プログラムはありますか?

ユーザーによるサービスの使用を制限しようとしています。つまり、ユーザー番号23が20 GiBの転送を購入し、1 GiB linux .iso。これで、残りの転送が1 GiB少なくなるはずです。

問題は、クラウドベースのソリューションを使用していることです...各ユーザーが使用する共有インターフェイスがあり、ハードウェアの詳細がわからないため、SNMPを使用できるかどうかわかりません。 (SNMPとは何か、または特定のハードウェアが必要かどうかもよくわかりません)

ユーザーごとの転送を追跡したいだけです。おそらくそれはソケットまたはアドレスごとであるか、不可能です。私が探しているものに近いものはありますか?

1
Jon Weldon

特にソケットが閉じられると、クエリを実行するものがなくなるため、クエリできるソケットごとのカウンタはありません。

実行できることの1つは、さまざまな--uid-ownerオプションと-j ACCEPTターゲットを使用して一連のiptablesルールをインストールすることです。これらのルールは何もブロックしませんが、各ルールのカウンター(iptables -L -n -vで表示)はユーザーごとにパケットとバイトをカウントします。ただし、これは発信トラフィックのみをカウントすることに注意してください(着信トラフィックはユーザーからではなく、ネットワークから発信されるため)。

2
Celada