6

Linux 用の C++ でネットワーク統計プログラムを開発しています。

現在のネットワーク接続に関する統計情報にアクセスしたいと考えています。

例えば:

  • パケットロス、
  • 転送されたバイト (アップロードとダウンロード)、
  • 現在のネットワーク負荷 (アップロードとダウンロード)、

この種の情報にアクセスする方法はありますか?


そのため、de /proc を使用して目的を達成しようとしています。多くの情報を見つけることができますが、必要な情報が不足しています。LibPcap を使用して、必要なネットワーク トラフィックをキャプチャし、必要なメトリックの取得を開始する単純な C++ プロミスキャス アプリケーションの開発を考えています。

短所は、これが CPU 集中型になると思うことです。少なくとも必要以上に...これについて何か考えはありますか?

4

4 に答える 4

4

この情報はすべて/proc/netファイルに分散されます(カーネルによって更新されます)。最も重要なファイルは/proc/net/netstatです。そこ/proc/net/devにデバイス統計があります。開いて解析できます。

于 2012-09-03T14:48:02.227 に答える
1

私の知る限り、 rtnetlink インターフェイスを介してプログラムで統計情報を取得することが可能です。例については、このメールを参照してください

于 2012-09-06T15:58:38.670 に答える
1

の「ファイル」から多くの情報を入手できます/proc/net

/proc/net/netstat開始するには良い場所です。

于 2012-09-03T14:41:40.743 に答える