数据包重定向到不同的IP地址

时间:2016-02-23 02:21:41

标签: security networking icmp arp

我目前正在研究一个研究项目来分析本地网络中的不同攻击,我想知道是否有可能在网络层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发送回应请求,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应该回复不同的地址,例如:回复(src = 10.0.0.2,dst = 10.0.0.3)

非常感谢你的帮助!

编辑:我使用的网络是SDN网络(软件定义网络),因此数据包可以使用第2层或第3层地址(或两者)进行路由。因此,我想知道是否可以欺骗IP地址而不仅仅是MAC地址。

1 个答案:

答案 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.110.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。