我的目标是在iptables使用ipset列表来logging到某些IP地址的出站stream量。 我打算监视整个networking被动。
我启用了端口镜像,端口镜像stream量正在向具有两个networking适配器的服务器进行广播。 Eth0专用于系统pipe理,Eth1运行在混杂模式下,专门用于捕获传递给它的stream量。 是否有可能使用iptableslogging正在监视的networking上的传出stream量? 谢谢。
你有没有考虑过使用tcpdump而不是iptables ? 就像是:
tcpdump -w /var/log/packets -i eth1
将所有在eth1上可见的数据包转储到文件/var/log/packets 。 您稍后可以使用tcpdump , wireshark或其他各种工具分析文件。
使用iptables ,通常使用LOG目标来logging数据包,如下所示:
iptables -A INPUT -i eth1 -j LOG
我不知道iptables是否是这个工作的正确工具,因为(a)我不知道如何在混杂模式下以接口的方式操作iptables ,并且(b)给出高分组评价这种loggingforms可能会对您的系统产生巨大的I / O影响。
我想你最好用tcpdump模型。 给tcpdump的-G标志会导致它周期性的旋转捕捉文件,如果你要捕捉一段很长的时间,你会这么做。 所以像这样:
tcpdump -G 3600 -w /var/log/packets-%Y-%m-%d-%H
这会得到你的forms的文件:
/var/log/packets-2013-06-20-10