2012-01-20 18 views
0

Linuxマシンで出入りするネットワークトラフィックのバイト数を監視する機能があるのだろうかと思います。c(linux)のネットワークトラフィックのin/outを監視する方法

私はWindows上でPDHクエリデータを使用できることを知っていますが、これについてはLinux上でどのように動くかわかりません。

作業する簡単なソリューションやドキュメントがあれば幸いです。

答えて

1

netstat -sは、内外に。あなたのニーズに合わせてフォーマットを変更することができます。あるいは、少し細かくチューニングできるものを探しているなら、ほとんどのLinuxのutilsのようにtcpdumpを試してみてください。manページからより多くの情報を得ることができます。 man netstat

+2

Cコードファイルでこれをどのように取得できるか知っていますか?私は 'system()'を起動したり、 'netstat -s'の出力を解析したくないのですか?何か案が? –

+0

@Shiplu:netstatのソースをダウンロードして見つけることができます。同様に、ifconfigのソースコード。 GPLのライセンスは素晴らしいです... –

+0

@Zan、 'ifconfig.c'を読んで質問しました。しかし、私はネットツールのためのライブラリを見つけることができなかったので、私はそれをリンクすることができます。私が見つけたのは、 'stuct interface'が定義されている' lib/interface.h'だけです。私はそれを使う方法が必要です。 –

1

ip -s linkの出力を監視します。 (または、低レベルの方法でNetlinkで作業したい場合は、RTM_GETLINKメッセージを送信する必要があり、IFLA_STATS64属性でその結果を見つける必要があります)。

関連する問題