2012-09-03 111 views
3

我正在開發一個C++ for Linux網絡統計程序。Linux C++:訪問網絡統計信息

我想訪問有關當前網絡連接的一些統計信息。

如:

  • 丟包,轉移
  • 字節(上傳和下載),
  • 當前網絡負載(上傳和下載),

不知道如何訪問這種信息?


所以,我一直在努力完成使用去的/ proc我的目標,我們可以找到很多的信息,但是有一些缺失的信息,我需要。我正在考慮使用LibPcap開發一個簡單的C++混雜應用程序,它捕獲我需要的網絡流量並開始採用我想要的指標。

con是,我認爲這將是CPU密集型,至少更多的則需要... 任何關於這個想法?

+0

請記住,系統通常不會有單個「當前」網絡連接。您還必須提出「當前網絡連接」的一些定義,以便知道您真正想要查看的接口 –

回答

1

很多信息可以從/proc/net的「文件」。

/proc/net/netstat將是一個良好的開端。

1

所有這些信息散佈到/proc/net文件(由內核更新)。最重要的文件是/proc/net/netstat。進入到/proc/net/dev有設備統計。你可以打開和解析。

0

您可以訪問網絡統計低谷/sys/class/net/NAME_OF_DEVICE/statistics