![服务 IPtables 日志记录](https://linux22.com/image/720256/%E6%9C%8D%E5%8A%A1%20IPtables%20%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95.png)
我正在使用 IPtables LOG 记录 Linux 服务器的所有传入和传出 IP 连接和端口。现在,我希望记录这些 IP 在服务器中连接的服务。
例如,如果连接到端口 80,则将服务名称记录为 httpd。IPtables 日志记录是否可行?以下是我现在使用的规则。:
-A INPUT -j LOG --log-prefix "IPs INCOMING"
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s x.x.x.x/8 -j ACCEPT
-A INPUT -s x.x.x.x/12 -j ACCEPT
-A INPUT -s x.x.x.x/16 -j ACCEPT
-A OUTPUT -j LOG --log-prefix "IPs OUTGOING"
答案1
你可以这样做:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j LOG --log-prefix "HTTP connection"
这需要插入在任何匹配-j ACCEPT
规则之前。
据我所知,没有办法有一个通用的日志行来从端口解析服务名称以设置日志前缀;如果你例如在 80 或 443 以外的任何端口上监听 HTTP,那么这也不起作用。