添加 iptables 中的总字节数

发布于 2024-10-11 20:48:46 字数 976 浏览 9 评论 0原文

如何逐行添加 grep 输出编号。

我有以下输出文件,

     pkts      bytes target     prot opt in     out     source               destination
       0        0 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
       0        0 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0
       0        0 RETURN     0    --  *      *       0.0.0.0/0            192.168.0.1
  375993 19581223 RETURN     0    --  *      *       192.168.1.136        0.0.0.0/0
  752537 1043650417 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.136
     123     9348 RETURN     0    --  *      *       192.168.1.100        0.0.0.0/0
     121     9196 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.100

我想添加每个 IP 地址的所有字节并将其存储为变量以供进一步计算。

iptables -L RRDIPT -vnx -t filter | grep "192.168.1" | cut -d " " -f4

给了我空白和 19581223,1043650417,9348 和 9196 但我正在努力添加输出。

有人可以指导我吗?

how can I add grep output number line by line.

I have the below output file from

     pkts      bytes target     prot opt in     out     source               destination
       0        0 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
       0        0 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0
       0        0 RETURN     0    --  *      *       0.0.0.0/0            192.168.0.1
  375993 19581223 RETURN     0    --  *      *       192.168.1.136        0.0.0.0/0
  752537 1043650417 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.136
     123     9348 RETURN     0    --  *      *       192.168.1.100        0.0.0.0/0
     121     9196 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.100

I want to add all bytes for each IP address and store it as variable for further calculation.

iptables -L RRDIPT -vnx -t filter | grep "192.168.1" | cut -d " " -f4

gives me the blanks and 19581223,1043650417,9348 and 9196 but I am struggling to add the output.

Can anyone guide me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

亢潮 2024-10-18 20:48:46

以下脚本计算每个目标 IP 的字节数。如果您想要每个源IP,请将$9更改为$8

iptables -L ... | awk '!/destination/{a[$9]+=$2}END{for(item in a)printf("%s\tTotal bytes: %s\n",item,a[item])}'

输入

pkts      bytes target     prot opt in     out     source               destination
   0        1 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
   0        2 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0
   0        3 RETURN     0    --  *      *       0.0.0.0/0            192.168.0.1
   0        4 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
   0        5 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0
   0        6 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
   0        7 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0

输出

192.168.0.1     Total bytes: 3
0.0.0.0/0       Total bytes: 14
192.168.1.117   Total bytes: 11

The following script tallies up the byte counts per destination IP. If you want per source IP then change the $9 to $8

iptables -L ... | awk '!/destination/{a[$9]+=$2}END{for(item in a)printf("%s\tTotal bytes: %s\n",item,a[item])}'

Input

pkts      bytes target     prot opt in     out     source               destination
   0        1 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
   0        2 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0
   0        3 RETURN     0    --  *      *       0.0.0.0/0            192.168.0.1
   0        4 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
   0        5 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0
   0        6 RETURN     0    --  *      *       0.0.0.0/0            192.168.1.117
   0        7 RETURN     0    --  *      *       192.168.0.1          0.0.0.0/0

Output

192.168.0.1     Total bytes: 3
0.0.0.0/0       Total bytes: 14
192.168.1.117   Total bytes: 11
伊面 2024-10-18 20:48:46

awk 很快就能解决这个问题。

awk will make short work of that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文