我目前正在研究一个研究项目来分析本地网络中的不同攻击,我想知道是否有可能在网络层3上执行类似于ARP欺骗或ICMP重定向攻击的重定向攻击 .
让我们假设我有以下三个主机:
-
H1(IP = 10.0.0.1,MAC = 00:00:00:00:00:01)
-
H2(IP = 10.0.0.2,MAC = 00:00:00:00:00:02)
-
H3(IP = 10.0.0.3,MAC = 00:00:00:00:00:03)
如果回显请求数据包从H1发送到H2,发生ARP欺骗攻击,我可以修改H2的ARP缓存,并使H2向H3发送回应回复 . 为此,主机H2将改变回应应答包的MAC地址 .
现在我想在网络层3上实现类似的功能 . 因此,如果H1向H2发送一个echo请求,H2应该回答一个不同于H1的IP地址,例如回到H3的IP,10.0.0.3 . 因此,一个重要的前提条件是无法进行IP欺骗,因此H1无法发送src地址设置为10.0.0.3的echo请求数据包,请求数据包的src地址必须是H1的正确地址10.0.0.1
所以我很好奇,如果它在某种程度上可能,或者是否有一个网络协议将改变请求数据包的IP地址并将回复数据包发送到另一个IP地址 .
-
因此,如果H1发送:请求(src = 10.0.0.1,dst = 10.0.0.2)
-
然后H2应该回复一个不同的地址,如:Reply(src = 10.0.0.2,dst = 10.0.0.3)
非常感谢你的帮助!
编辑:我使用的网络是SDN网络(软件定义网络),因此数据包可以使用第2层或第3层地址(或两者)进行路由 . 因此,我想知道是否可以欺骗IP地址而不仅仅是MAC地址 .
1 回答
您唯一能做的就是将H1放在不同的子网上,并将H3设置为两个子网的默认网关:
H3是多宿主 .
从
10.1.0.1
到10.0.0.2
的回声将通过10.0.0.3
发送回复 .由于
10.0.0.2
不在10.1.0.0/24
子网上,因此会查找默认网关:然后H3将数据包路由到
10.0.0.0/24
子网:H2接收数据包,回声尝试将其回送回H1(
10.1.0.1
) . 由于10.1.0.1
不在10.0.0.0/24
子网上,因此数据包将发送到默认网关10.0.0.3
. 由于H2刚收到10.0.0.3
的原始数据包,00:00:00:00:00:03
的ARP仍然被缓存,因此回复转到H3,尽管IP目的地为10.1.0.1 .