使用 iptables 捕获路由器中 GATWAYLAN 的流量

使用 iptables 捕获路由器中 GATWAYLAN 的流量

我正在尝试捕获路由器 LAN<>GATEWAY 的流量。路由器有基于 Linux 的固件,我可以使用 iptables 进行网络操作。我想要做的是捕获灰色区域中的流量图片。我将使用 netfilter-queue 来捕获重定向流量。

我捕获的流量必须是..

  1. 对入站流量 (WAN->LAN) 进行 DNAT 之后。
  2. 对出站流量 (WAN<-LAN) 进行 SNAT 之前。

我找到了一些关于 iptables 链的解释图片这里。我设计了一些捕捉此类事物的场景。但每张图片都基于单个系统,所以我不确定它是否能很好地工作。情况会有所不同,但我们假设 eth0 与 WAN 相连,eth1 与 LAN 相连。

  1. 在过滤器或 mangle 表的 FORWARED 链中捕获流量。
iptables -I FORWARD -j NFQUEUE
  1. 捕获 mangle 表的 PREROUTING 链中的流量。
iptables -t mangle -I PREROUTING -j NFQUEUE
  1. 捕获 eth1(LAN) 的 PREROUTING 链和 eth0(WAN) 的 POSTROUTING 链中的流量。
iptables -t mangle -i eth1 -I PREROUTING -j NFQUEUE
iptables -t mangle -i eth0 -I POSTROUTING -j NFQUEUE

捕获 LAN<>GATEWAY 流量的最佳选择是什么?如果我可以全部尝试,那就最好了,但是我无法访问路由器,所以我现在无法测试。

答案1

我今天找到了解决方案,现在就来分享一下。我能够使用 FORWARD 链在 DNAT 之后和 SNAT 之前捕获数据包。所以答案是 1。

iptables -I FORWARD -j NFQUEUE

现在,我正在尝试寻找捕获特定主机数据包的方法(使用主机的 MAC 地址)。

相关内容