Wireshark 如何查看 iptables 丢弃的数据包?

Wireshark 如何查看 iptables 丢弃的数据包?

我最近在一台新计算机上安装了我的硬盘,经过一番摆弄后,我注意到我的 iptables 规则由于某种原因丢弃了 DNS 响应,结果发现它们被配置为允许 eth0 上的内容,但是这台计算机中使用了 eth8,并且一切都在丢弃(不仅仅是 DNS 查询)。无论如何,我同时使用 Wireshark 来查看 DNS 服务器是否响应查询,并发现它们确实响应了。但我刚刚注意到 iptables 正在丢弃所述数据包。如果数据包被丢弃,Wireshark 为何能够看到它们?

在此输入图像描述

用于生成规则集的脚本:

# Flush all rules
iptables -F
iptables -X

# Allow unlimited traffic on loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Allow incomming traffic from estabilished and related connections
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Policy: Allow outgoing, deny incoming and forwarding
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP

答案1

Wireshark 用途libpcap在操作系统处理数据之前从 NIC 获取数据。请参阅libpcap 教程有关 libpcap 的介绍。

相关内容