如何读取 IPSet 内部计数器的值

如何读取 IPSet 内部计数器的值

我知道在创建 IP 集时有一个名为“计数器”的选项IP设置。但是我想知道如何读出计数器的值,以便知道从集合中的每个 IP 地址转发了多少个数据包或多少数据。

答案1

最快的方法是直接转储 ipset 并查找值。如果您想要它而不转储它,您可能需要使用 libipset API 编写一些 C 代码。

root@host # ipset save |grep  -e 'packets [1-9]'
add ganeti-v4 1.2.3.4 timeout 85663 packets 26 bytes 5876 comment "basedata: @1475359261 /etc/firewall.d/functions/ipset"
add ganeti-v4 1.2.3.5 timeout 85663 packets 30 bytes 6780 comment "basedata: @1475359261 /etc/firewall.d/functions/ipset"
add drbd-v4 4.5.6.7 timeout 85663 packets 4 bytes 240 comment "basedata: @1475359261 /etc/firewall.d/functions/ipset"

相关内容