Linux

如何顯示字節值iptables

  • February 26, 2022

我正在嘗試輸出bytesiptables 的值。我嘗試了以下方法:

sudo iptables -nvL INPUT --line-numbers

我得到以下輸出:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      316 18844 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate NEW limit: avg 60/sec burst 20
2        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate NEW

我也試過:

sudo iptables -nvL INPUT --line-numbers | grep ACCEPT

但我得到的不僅僅是bytes價值。

我不知道如何bytes從該命令中提取值(18844 和 0)。

我希望你能幫助我。

看起來好像該bytes值是第 3 列,因此您可以編寫:

iptables -nvL INPUT | awk '/policy/ {next} /ACCEPT/ {print $3}'

鑑於上面的範例輸出,將產生:

18844

該 awk 腳本 ( /policy/ {next}) 中的第一個模式是跳過第一行,否則會匹配 on ACCEPT

引用自:https://serverfault.com/questions/1094868