重要:
このメソッドは、アプリケーションがアクセスしているアドレスまたはポートからわかっている場合に機能します。
順を追った説明
1. iptraf
iptrafは、コンピューターのすべてのネットワークアクティビティを監視できる小さなプログラムです。
ソースとバイナリは、iptrafからダウンロードできます。
Ubuntuの場合、次のコマンドを実行してiptrafをインストールできます。
sudo apt-get install iptraf
2.起動!
ターミナルで次のように記述します:iptraf
3.カスタマイズ
ロギングを有効にする必要があります(そうしないと、プログラムは画面に表示するように制限されます)。 これは明らかに「構成」セクションで行われます。
4.監視を開始する
設定を終了し、[IPトラフィックモニター]をクリックして、ネットワークアクティビティを記録するファイルへのパスを選択します。
その後、次の図が表示されます。
必要なのはそれだけです! ほぼ。
5.分析
前述したように、アプリケーションがアクセスしているアドレス/ポート(計算するトラフィック)を知る必要があります。
たとえば、 last.fmラジオの1時間にどのくらいのトラフィックが「コスト」になるかを計算する場合、以下を決定する必要があります。
last.fmアプリケーションは、次のようなアドレスにアクセスします。
195.24。*(Last.fmは単一のアドレスにはアクセスしませんが、アドレスの範囲を参照します)。
消費されたトラフィック量をログから取得するために(1時間書き込まれます)、このトラフィックを考慮する小さな「プログラム」をJavaで作成しました。
package stat; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /** * * @author http://habrahabr.ru/users/nucleotide/ */ public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new FileReader("/var/log/iptraf/ip_traffic")); String line; long count = 0; long traffic = 0; while ((line = reader.readLine()) != null) { count++; String s[] = line.split(" "); if (s.length < 12) { continue; } if (s[10].contains("195.24.") || s[12].contains("195.24.")) { //"from" and "to" traffic += new Long(s[7]); if(s.length>16) traffic += new Long(s[17]); } } System.out.println("Count: " + count + " lines"); System.out.println("Total: " + traffic + " bytes!"); System.out.println("Total: " + traffic / 1024 + " Kbytes!"); System.out.println("Total: " + traffic / (1024 * 1024) + " Mbytes!"); } }
このオプションは、ログを絶えず書き込み、そこで何かを測定する必要がある場合に有効です。 特定の状況で必要なパーサーを正確に記述/構成するだけで、必要なデータをすべて取得できます。
おそらく、これは最良のオプションではありません(動作しますが)。 他の多くのオプションがあります:
http://help.ubuntu.ru / ...
http://iptraf.seul.org/2.7/filters.html
などなど。