使用 ettercap 和 ARP 中毒,我能够窃听其他连接,但突然间我无法连接到 Internet。要恢复 Internet 连接,我必须重新启动路由器。(我已经在 3 种不同的路由器上进行了测试:sagem、linksys 和 huawei。)
我做错了什么还是有一个安全机制可以杀死所有网络活动?
使用 ettercap 和 ARP 中毒,我能够窃听其他连接,但突然间我无法连接到 Internet。要恢复 Internet 连接,我必须重新启动路由器。(我已经在 3 种不同的路由器上进行了测试:sagem、linksys 和 huawei。)
我做错了什么还是有一个安全机制可以杀死所有网络活动?
ARP 欺骗通常通过欺骗所有客户端以为您是路由器而起作用,通过伪造将 IP 地址转换为 MAC 地址的 ARP 响应。当客户端收到 ARP 响应时,它们会记住与 IP 关联的 MAC。
一旦您停止处理中间人操作部分的应用程序,客户端就会继续发送到您的 MAC 地址,而不是路由器的地址。由于您不再处理此类数据包,因此流量被黑洞,整个网络都出现故障。重置路由器会导致它发送 ARP 广播(例如“嗨,我192.168.1.1在12:34:56:78:90:AB”)以及 DHCP 广播,从而允许客户端与真实路由器重新同步。
您的 ARP 中毒软件可能会在关闭时发送一个带有路由器真实 MAC 地址的 ARP 广播,以防止这种情况发生。这可能是一个错误,也可能只是尚未实现。
人们所做的转发/路由点的另一个补充是,如果您正在运行基于 Linux 的操作系统,则需要打开 IP 转发,否则内核将丢弃任何发往未附加到任何 IP 地址的数据包本地接口。
您可以通过运行(以 root 身份)打开 ip_forwarding;
echo "1" > /proc/sys/net/ipv4/ip_forward
并同样将其再次关闭;
echo "0" > /proc/sys/net/ipv4/ip_forward
这将立即生效,并且不需要重新启动。
如果你只有一张网络接口卡,你可能会把所有东西都黑洞。您需要一个网卡(或虚拟网卡)连接到客户端并充当被欺骗的路由器/交换机,以及一个将流量转发到交换机。我知道 ettercap 可以处理 MiTM 的流量,但不记得它是否也为您的机器提供互联网访问。
当您从 ettercap 退出时,它应该通过向当前 MiTM 的受害者发送正确的 arp 数据包来重新建立互联网连接,从而将您从中间切断并重新建立他们的互联网连接。
确保当您 MiTM 时,您也不是为自己而 MiTM 路由器。
这个问题也曾经发生在我身上,就我而言,一切都与 iptables 的使用有关。我使用没有 (-i) 接口参数的 iptables 导致无法通过我的机器进行重定向,因为 iptables 无法知道您需要将流量重定向到哪个接口。我刚刚更改了命令,网络上不再有 DoS:
iptables -t nat -A PREROUTING -i wlan0 -p tcp --destination-port 80 -j REDIRECT --to-port (the port port where your going to have sslstrip listening to)
请记住根据您使用的 ex 类型更改界面。就我而言,我已连接到 wlan。如果您使用有线连接进行连接,您的接口很可能是 eth0。
这在 Ubuntu 14.4 上对我有用。