我需要创建一个服务,将某个端口上的所有输入记录到文件中。我是否必须为此创建一个自定义程序,或者是否有现有的工具?
答案1
在...的帮助下IP表和系统日志,我们可以将某个端口上的所有输入记录到文件中。
IPtables 默认日志文件位于/var/log/messages
基于 RHEL 的系统和/var/log/syslog
Debian 基本系统中。我们可以将详细信息记录到不同的日志文件中。
打开/etc/syslog.conf
并附加以下行
kern.warning /var/log/iptables.log
添加后,您必须使用以下命令重新启动 syslog 服务以反映更改:
/etc/init.d/syslog restart
现在假设您想记录端口 80,然后只需添加以下规则:
iptables -A INPUT -p tcp --dport 80 -j LOG --log-level 4
现在只需跟踪日志即可查看
tail -f /var/log/iptables.log
保存规则:
/etc/init.d/iptables save
并在启动时启用所需的服务
chkconfig --level 35 iptables on
chkconfig --level 35 syslog on
答案2
有一些工具,但最常见的工具之一是系统日志。毫无疑问,它可以在您的发行版的软件包存储库中找到,或者您当然可以从源代码构建它。
该守护程序通常侦听端口 514 UDP 并接受 UDP 数据包,然后根据配置中指定的规则集将这些数据包放入特定的日志文件中rsyslog
。
答案3
它也认为tcp转储在这里可能会很方便。 (不限于TCP)