我使用 iptables 来阻止对我的服务器的不同类型的攻击。我们有一套不同的规则以及不同的速率限制规则。现在我还使用一个脚本来观察阈值(如果阈值大于 10mb/s)并将所有数据包转储到文件中。该脚本在屏幕会话中一直运行,并使用以下命令进行转储:
tcpdump -nn -s0 -c 2000 -w Attack.cap
sleep 300
一旦受到攻击,它会等待 5 分钟以检查另一次攻击(睡眠 300)。现在我怀疑在数据包捕获过程中,iptables 是否仍然有效,因为在 /var/messages 我看到像“eth0 进入混杂模式”和“eth0 离开混杂模式”这样的行,所以它可能会忽略 iptables?
http://en.wikipedia.org/wiki/Promiscuous_mode
这不会绕过任何类型的防火墙。
尝试使用命令
默认情况下
tcpdump
会将接口置于混杂模式。出于您的目的,我认为您不需要混杂模式来完成您的工作。指定接口可以防止tcpdump
查找它,并且可能会得到错误的接口。tcpdump
在原始数据包被防火墙之前抓取它们iptables
,因此您将能够看到被防火墙丢弃或拒绝的数据包。