インターフェイスでの送信の RX バイト数と TX バイト数を取得するためのツールはたくさんありますが、指定された単一のソケットの合計送信バイト数を取得するために使用できるツールやプログラムはありますか?
ユーザーによるサービスの使用を制限しようとしています。つまり、ユーザー番号 23 は 20 GiB の転送を購入し、1 GiB の Linux .iso をダウンロードしたところです。これで、残りの転送量は 1 GiB 少なくなるはずです。
問題は、クラウド ベースのソリューションを使用していることです。各ユーザーが使用する共有インターフェイスがあり、ハードウェアの詳細がわからないため、SNMP を使用できるかどうかわかりません。(SNMP が何であるか、特定のハードウェアが必要かどうかもよくわかりません)
ユーザーごとの転送を追跡したいのですが、おそらくソケットまたはアドレスごとに追跡する必要があるか、または不可能です。私が探しているものに近いものはありますか?
答え1
ソケットごとにクエリできるカウンターはありません。特に、ソケットが閉じられると、クエリするものがなくなるためです。
1 つの方法として、さまざまなオプションとターゲットを持つ一連のiptables
ルールをインストールする方法があります。これらのルールは何もブロックしませんが、各ルールのカウンター ( で表示) は、ユーザーごとにパケットとバイトをカウントします。ただし、カウントされるのは送信トラフィックのみであることに注意してください (受信トラフィックはユーザーからではなく、ネットワークから来るため)。--uid-owner
-j ACCEPT
iptables -L -n -v