Rasoul.A Asked: 2024-05-12 15:36:41 +0800 CST2024-05-12 15:36:41 +0800 CST 2024-05-12 15:36:41 +0800 CST 获取每个 IP 地址的 rx/tx 字节 772 我定义了一个vlan,它有3个IP地址。现在我想在任何给定时间获取每个 ip 的 RX/TX 字节。是否可以使用 iptables、 ip 、 netstat 命令来获取此信息?我更喜欢使用预安装的工具之一。 先感谢您。 iptables 1 个回答 Voted Best Answer larsks 2024-05-12T20:16:12+08:002024-05-12T20:16:12+08:00 当然。 假设您的三个 IP 地址是: 192.168.1.10 192.168.1.20 192.168.1.30 我们可以创建 iptables 规则来匹配每个地址的入站和出站流量: for addr in 192.168.1.10 192.168.1.20 192.168.1.30; do iptables -A INPUT -d $addr -m comment \ --comment "account $addr in" iptables -A OUTPUT -s $addr -m comment \ --comment "account $addr out" done 这些注释使我们能够使用以下方式方便地过滤这些规则grep: [root@node0 ~]# iptables -S |grep account -A INPUT -d 192.168.1.10/32 -m comment --comment "account 192.168.1.10 in" -A INPUT -d 192.168.1.20/32 -m comment --comment "account 192.168.1.20 in" -A INPUT -d 192.168.1.30/32 -m comment --comment "account 192.168.1.30 in" -A OUTPUT -d 192.168.1.10/32 -m comment --comment "account 192.168.1.10 out" -A OUTPUT -d 192.168.1.20/32 -m comment --comment "account 192.168.1.20 out" -A OUTPUT -d 192.168.1.30/32 -m comment --comment "account 192.168.1.30 out" 我们可以使用以下命令查看计数器iptables -xvnL: [root@node0 ~]# iptables -xvnL | grep account 274 17184 0 -- * * 0.0.0.0/0 192.168.1.10 /* account 192.168.1.10 in */ 296 18552 0 -- * * 0.0.0.0/0 192.168.1.20 /* account 192.168.1.20 in */ 330 20664 0 -- * * 0.0.0.0/0 192.168.1.30 /* account 192.168.1.30 in */ 212 260913 0 -- * * 192.168.1.10 0.0.0.0/0 /* account 192.168.1.10 out */ 230 277919 0 -- * * 192.168.1.20 0.0.0.0/0 /* account 192.168.1.20 out */ 258 303468 0 -- * * 192.168.1.30 0.0.0.0/0 /* account 192.168.1.30 out */ 上述输出中的第一列是数据包计数器;第二列是字节计数器。使用您最喜欢的文本处理工具可以轻松提取这些值。
当然。
假设您的三个 IP 地址是:
我们可以创建 iptables 规则来匹配每个地址的入站和出站流量:
这些注释使我们能够使用以下方式方便地过滤这些规则
grep
:我们可以使用以下命令查看计数器
iptables -xvnL
:上述输出中的第一列是数据包计数器;第二列是字节计数器。使用您最喜欢的文本处理工具可以轻松提取这些值。