这是设置:
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'