iptables显示规则命中速率

之前一直使用watch 'iptables -vxL'来查看iptables规则实时状况,虽然通过这样查看累计数能够大概了解到规则命中的情况,但只能通过估算来得知命中速度,在有时候不太方便。

在优化iptables规则时,偶然阅读 Cloudflare 的 How to drop 10 million packets per second 这篇文章,发现其使用了mmwatch的工具,可以把iptables的规则从累计命中数转为每秒速度。

$ mmwatch ‘iptables -L -v -n -x | head’
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
605.9k/s 26.7m/s DROP udp – * * 0.0.0.0/0 198.18.0.12 udp dpt:1234

通过 进一步了解 ,发现这是一个由 Cloudflare 开发人员使用python制作的小工具,可以把任何变动的时点值转换为速率。工具通过对数字在近2秒钟的变化计算出速率。

iptables显示规则命中速率_第1张图片

该工具Github链接:https://github.com/cloudflare/cloudflare-blog/blob/master/2017-06-29-ssdp/mmwatch

下载回来后,移动到/bin或者/usr/local/bin目录,然后设置可执行权限:

chmod +x mmwatch

最后像watch一样,运行指令即可。有变化的值会被替换为速率并且以白色背景显示。

mmwatch 'iptables -t -vxL'

iptables显示规则命中速率_第2张图片

原文链接:https://tlingc.com/2020/03/iptables-showing-hit-rate-of-rules/

你可能感兴趣的:(iptables显示规则命中速率)