加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 测量每个用户或每个进程的累积网络统计信息

发布时间:2020-12-13 16:44:31 所属栏目:Linux 来源:网络整理
导读:我一直在谷歌搜索几个小时 – 在 Linux下我想知道用户或通过所有IP协议进程发送和接收的累积字节数.我在搜索中发现的最好的是可以使用iptables为用户标记数据包,例如: iptables -t mangle -A OUTPUT -p tcp -m owner --uid-owner test -j MARK --set-mark 1
我一直在谷歌搜索几个小时 – 在 Linux下我想知道用户或通过所有IP协议进程发送和接收的累积字节数.我在搜索中发现的最好的是可以使用iptables为用户标记数据包,例如:
iptables -t mangle -A OUTPUT -p tcp -m owner --uid-owner test -j MARK --set-mark 1

似乎“tc”可以随之形成交通,但我只想要统计数据 – 我不想塑造流量.我想要一些类似的东西:“用户U从Y开始就传输了使用过的XMB”.我无法弄清楚如何从这些标记的数据包中获取统计信息.此外,我看过nethogs,但他们似乎正在测量瞬时流量,我需要累积计数.有人有想法吗?

解决方法

iptables -m owner技巧只能跟踪发送出去的用户的数据包(根据定义).它不能用于跟踪为该用户接收的数据包.

我承认,在我的头脑中,我没有看到任何好办法.在黑暗中,它将涉及在内核级别应用补丁,例如,仅允许特定用户绑定到网络堆栈上的特定端口范围(类似于只有root可以绑定到网络套接字的想法)在端口1024和更低).然后,您可以在这些端口范围上应用iptables流量日志记录,并确保任何流量仅适用于允许绑定到这些端口的相应用户.不足之处是,这会对那些不了解这些限制的用户应用程序造成严重破坏,然后他们决定尝试绑定到一个端口而内核拒绝这样做.

也许可以用SE Linux做到这一点,但我怀疑有可能成为系统管理员维护的噩梦:http://www.linuxquestions.org/questions/linux-server-73/how-can-i-restrict-ports-for-users-to-bind-to-667153/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读