Linux下每用户networkingstream量统计

我有一台运行Linux的计算机上的几个用户(Ubuntu Lucid更具体)。

我需要看看他们在一个特定的接口上产生了多lessnetworkingstream量。

iptables可以匹配传出的包,所以我可以创build链为每个用户能够计算出站networkingstream量。 但是,传入的stream量也很重要。

我有几个select: – 写一个新的iptables匹配传入的数据包 – 写一个新的iptables模块,结合传出数据包用户匹配和连接跟踪 – 写一个TUN / TAP驱动程序,以某种方式能够识别发件人/接收程序和用户,写一个日志-…

做这个的最好方式是什么? 有没有现有的解决scheme呢?

先谢谢你。

我设法弄清楚了这一点。

我写了一个LD_PRELOAD库,它覆盖了发送,接收,读取,写入函数系列,并在套接字上logging这些操作。

源代码是非常实验性的,并不安全,但无论如何,我把它放在SourceForge上:

https://sourceforge.net/projects/netacct/