如何自定义iptable日志信息的格式?

如何自定义iptable日志信息的格式?
sudo  iptables -A INPUT -p tcp  --sport 80 -j LOG --log-ip-options 

检查iptables日志信息的格式。

Feb  6 20:01:32 hwy kernel: [13004.628960] IN=eth0 OUT= MAC=00:30:40:50:40:d0:f8:32:e4:96:96:b4:08:00 SRC=183.232.24.111 DST=192.168.1.176 LEN=52 TOS=0x04 PREC=0x00 TTL=56 ID=48659 PROTO=TCP SPT=80 DPT=33751 WINDOW=114 RES=0x00 ACK FIN URGP=0 

我如何自定义 iptables 日志信息的格式,例如:

Feb  6 20:01:32 hwy kernel: [13004.628960] SRC=183.232.24.111 

日志文件中仅保留源 IP。

答案1

您无法更改 iptables 目标生成的日志格式LOG。格式在内核xt_LOG模块中是固定的。

另一种方法是使用NFLOG目标,该目标通过 netlink 套接字将数据包发送到多播组。然后,您需要一个 usespace 进程来订阅该组并处理接收到的数据包以生成所需的日志格式。

相关内容