同一子网中的 2 台主机通过第三台主机路由?

同一子网中的 2 台主机通过第三台主机路由?

这是设置:

Host A : 192.168.0.5/24
Host B : 192.168.0.6/24
Host C : 192.168.0.1/24

全部通过开关连接。

我想通过在 A 和 B 上设置路由以使用 C 作为彼此的 GW 来监视 A 和 B 之间的流量。

如果 A 和 B 位于不同的子网中,我可以让它正常工作,但希望有一种方法可以在同一子网上完成所有操作。

S0 首先我通过发出以下命令在 A 和 B 上设置路由

route add -host B gw C

(对于 B 来说反之亦然)

在 C i 上启用转发。当我在 C 上运行wireshark,然后从 A ping 到 B 时,我看到 ping 请求来自 A,A 的 MAC 发送到 C 的 MAC。然后C 使用C 的MAC 向B 的MAC 重传。

A 和 B 都关闭了“accept_redirects”,因此它们被迫使用 C。

问题:从 A 到 B 执行 ping 操作始终不起作用。 B 上的 Wireshark 从不显示传入的 ping 请求。

C 上的 Wireshark 显示它已发送到 B 的 ip/mac,但看起来 B 从未收到它,或者它在wireshark 下面的某处被过滤掉。

有什么提示吗?什么可能过滤掉数据包?

答案1

尝试琶音欺骗dsniff包装中。

如果两台主机都能防止 ARP 中毒,那么它就不起作用,因为这正是它的工作原理。

外壳1

# Enable packet forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Tell A we are B
arpspoof -t hostA hostB

外壳2

# Tell B we are A
arpspoof -t hostB hostA

外壳3

# Watch the traffic
tshark -f 'host hostA and host hostB and not arp'

相关内容