tcpdump 会看到被 iptables 丢弃的数据包吗?

Pab*_*ruz 31 firewall iptables tcp tcpdump

我有一个带有这些简单规则的防火墙:

iptables -A INPUT -p tcp -s 127.0.0.1/32 --dport 6000 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.16.20/32 --dport 6000 -j ACCEPT
iptables -A INPUT -p tcp --dport 6000 -j REJECT
Run Code Online (Sandbox Code Playgroud)

现在,假设我像这样使用TCPDUMP

tcpdump port 6000
Run Code Online (Sandbox Code Playgroud)

我有主机192.168.16.21试图连接到端口6000

将/应该tcpdump输出一些来自192.168.16.21?

Ale*_*lex 30

tcpdump在数据包被防火墙处理之前使用libpcaplibpcap处理数据包,所以答案是“是”。

  • 这只是部分正确。`tcpdump` 会在 `iptables` 之前看到入站流量,但只有在防火墙处理之后才会看到出站流量。见 https://superuser.com/q/925286/18898 (20认同)
  • 那么有没有办法丢弃来自特定 IP 的传入数据包,以便 tcpdump 甚至看不到它们? (3认同)