我目前正在研究一个研究项目来分析本地网络中的不同攻击,我想知道是否有可能在网络层3上执行类似于ARP欺骗或ICMP重定向攻击的重定向攻击
假设我有以下三个主机:
如果回显请求数据包从H1发送到H2,发生ARP欺骗攻击,我可以修改H2的ARP缓存,并使H2向H3发送回复回复。为此,主机H2将改变回应应答包的MAC地址。
现在我想在网络层3上实现类似的功能。因此,如果H1向H2发送回应请求,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地址。
非常感谢你的帮助!
编辑:我使用的网络是SDN网络(软件定义网络),因此数据包可以使用第2层或第3层地址(或两者)进行路由。因此,我想知道是否可以欺骗IP地址而不仅仅是MAC地址。
答案 0 :(得分:0)
您唯一能做的就是将H1放在不同的子网上,并将H3设置为两个子网的默认网关:
H1 (IP=10.1.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)
(IP=10.1.0.255,MAC=00:00:00:00:00:04)
H3是多宿主。
10.1.0.1
到10.0.0.2
的回音会通过10.0.0.3
收到回复。
H1 (10.1.0.1) ⇾ (H2) 10.0.0.2
由于10.0.0.2
子网不在10.1.0.0/24
,因此会查找默认网关:
ARP: Who has 10.1.0.255?
H3: 10.1.0.255 is 00:00:00:00:00:04
00:00:00:00:00:01 ⇾ 00:00:00:00:00:04
然后H3将数据包路由到10.0.0.0/24
子网:
ARP: Who has 10.0.0.2?
H2: 10.0.0.2 is 00:00:00:00:00:02
00:00:00:00:00:03 ⇾ 00:00:00:00:00:02
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。