在不知道目标子网的情况下过滤入站流量

在不知道目标子网的情况下过滤入站流量

我有一台配置为路由器的 Linux 机器,具有两个面向 LAN A 和 LAN B 的接口。我想使用 tcpdump 过滤从 LAN A 到 LAN B 的流量(入站流量),但是我没有 LAN 的子网信息(不是这个:dst net subnetB)?

答案1

eth0我不完全明白你想要什么,但是如果你想捕获内核从一个接口到另一个接口转发(如路由)的数据包eth1,你可以添加这条iptables规则:

iptables -A FORWARD -i eth0 -o eth1 -j NFLOG

然后,使用tcpdumpwireshark从 Netfilter Log 伪接口(tcpdump通过使用nflog作为接口名称)捕获数据包,该接口读取目标看到的数据包NFLOG

如果你还想记录反向传输的数据包,只需插入另一条 iptables 规则:

iptables -A FORWARD -i eth0 -o eth1 -j NFLOG

从 wireshark/tcpdump 只能看到实际转发的数据包。从主机发送的数据包或未经转发而接收的数据包不会被捕获。但您仍然可以通过在INPUT或中添加更多 NFLOG 规则来决定捕获它们OUTPUT

另外,请注意 CPU 使用率:使用速度可能NFLOG 比直接从接口捕获慢。

相关内容