是否可以仅在建立连接时写入日志条目?我尝试过:
iptables -I OUTPUT -p tcp --dport 22 -j LOG --log-level notice --log-prefix "outgoing ssh connection"
记录传出的 SSH 连接,但这会记录每个数据包,您可以想象这对于监控目的来说有点难以承受。我正在运行 SLES 11 SP3。因此,如果有人能指出一种仅在建立连接时写入日志条目的方法,我将不胜感激。
答案1
您需要记录流量的线路可能看起来像这样:
iptables -I OUTPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j LOG --log-prefix "Outgoing SSH connection"
在另一个终端上查看日志
while :; do iptables -L OUTPUT -v -n --line-n; sleep 2; done
我使用的是 -m state --state。但我建议使用 --ctstate
man iptables
了解更多信息。
如果您感觉被日志淹没了,您可以考虑更改--log-level
。 http://www.netfilter.org/可以告诉你更多。
答案2
val0x00ff 建议使用--state
,同样由Petter H 在评论中,应该可以正常工作。
但是,您不需要为此引入会话状态跟踪。您可以添加标志--syn
,使规则仅匹配设置了 SYN 标志的数据包,该标志仅在新的连接尝试时设置。