如何防止 arp-scan 写入 syslog?

如何防止 arp-scan 写入 syslog?

我在 bash 脚本中使用 arp-scan 来验证主机是否可访问。我将脚本设置为每分钟运行一次的 cron 作业,并且 /var/log/syslog 充满了 arp-scan 输出。

我尝试过 -q 和 --quiet,但没有发现它对命令行输出或系统日志消息有任何影响。该标志在 arp-scan 1.6 上是否损坏?

还有其他方法可以阻止系统日志消息吗?

我意识到这不是世界末日(每分钟只有两行),但如果可能的话,我宁愿不在那里看到它。

以下行出现在 /var/log/syslog 和 /var/log/messages 中:

Jul 16 08:28:01 debian arp-scan[9428]: Starting: arp-scan 192.168.1.1 -I eth0
Jul 16 08:28:01 debian arp-scan[9428]: Ending: 1 hosts scanned in 0.150 seconds (6.67 hosts/sec). 1 responded
Jul 16 08:28:01 debian arp-scan[9440]: Starting: arp-scan 192.168.1.6 -I eth0
Jul 16 08:28:02 debian arp-scan[9440]: Ending: 1 hosts scanned in 0.165 seconds (6.06 hosts/sec). 1 responded

这是我的脚本的 cron 行:

* *    * * *   root    /root/monitor

更新

我尝试同时附加 > /dev/null 和 2>&1 /dev/null ,但都没有停止 arp-scan 输出。

解决方案

在 /etc/rsyslog.conf 中放置以下过滤器:

#
# Don't log arp-scan output
#
:programname, isequal, "arp-scan" ~

答案1

如果您使用 rsyslogd,您应该能够编写一个过滤器来删除它,如图所示这里

答案2

如果您想防止 arp-scan 的回声,则只需将错误传递到 /dev/null 即可将所有输出提供给 /dev/null 并重新启动作业序列。

相关内容