如何防止 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 並重新啟動作業序列。

相關內容