我试图将PF防火墙列入黑名单的IP地址添加到日志中,以便我们随时间记录它们,最好是添加日期/时间。
以下命令显示我想要捕获的IP地址:
% pfctl -t bruteforce -T show
No ALTQ support in kernel
ALTQ related functions disabled
1.2.3.4
2.3.4.5
但前两行(内核中没有ALTQ支持,ALTQ相关功能已禁用)需要被删除,而且我没有运气与awk,sed或tail这样做。我认为以下内容可能有效,但没有任何乐趣:
% pfctl -t bruteforce -T show | sed 1,2d
No ALTQ support in kernel
ALTQ related functions disabled
我还想知道如何最好地将它编织成if / then语句,这样只有当有结果(即任何IP地址)时,才会将其写入日志,最好是日期/他们被加入的时间。
对于成为这样一个新手而道歉 - 任何想法或帮助都非常感激。
丹
答案 0 :(得分:1)
尝试将输出汇总到awk
并指定您只想要大于'2'的行号NR> 2':
pfctl -t bruteforce -T show | awk 'NR>2'
要将其放入脚本中,可以:
#!/bin/sh
logfile="logfile.txt"
pass=0
for i in $( pfctl -t bruteforce -T show | awk 'NR>2' )
do # only log the date once
[ "$pass" -eq 0 ] && { date >> "$logfile" ; pass=1 ; }
# log the ip addresses to "$logfile" one at a time
printf "$i\n" >> "$logfile"
done