之前一直使用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秒钟的变化计算出速率。
该工具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'
发表回复