我在“打开”模式下运行ufw只是为了收集统计信息以查看是否有任何尝试访问服务器。 UFW正在“中等”日志记录中运行,因此我可以看到对服务器的所有访问。当我检查ufw.log时,我需要手动浏览整个列表。
我目前使用:
grep 'IN=eth0' uwf.log
但这仍然留下太多记录让我手动检查
我真正需要的是:
有人可以帮忙,
谢谢。
答案 0 :(得分:3)
grep -v
:这将使grep排除与模式匹配的行
grep -E
:这将使grep接受正则表达式(在这种情况下有多种可能性 - 由管道分隔)。
grep "IN=eth0" uwf.log |grep -Ev 'SRC=0\.0\.0\.0|SRC=10\.0\.1\.15'
答案 1 :(得分:3)
我会使用awk
:
awk '/IN=eth0/ && !/SRC=0\.0\.0\.0/ && !/SRC=10\.0\.1\.15/' uwf.log
由于awk
支持布尔运算,因此可以用非常简单的方式表达多个条件。
答案 2 :(得分:0)
使用GNU sed:
sed -rn '/IN=eth0/{/(SRC=0\.0\.0\.0|SRC=10\.0\.1\.15)/!p}' uwf.log