GCP不允许使用伪造IP地址的数据包-为什么?

时间:2020-10-07 08:04:42

标签: networking scapy google-cloud-networking

我有问题,因为我想将自己生成的数据包发送到GCP上的vm实例。我正在使用带有欺骗性源地址的以下代码:

packet = IP(src="77.7.7.7", dst="MY-VM-IP")/UDP(sport=RandShort(), dport=53)/DNS(rd=1,qd=DNSQR(qname="google.com"))

import time
while True:

  send(packet)
  time.sleep(1)

尽管当我不更改源IP时,我仍可以在VM上看到带有TCP转储的数据包。 我该如何运作?我在VM上启用了IP转发,并将FW设置为允许。

1 个答案:

答案 0 :(得分:0)

根据文档1,只要发送数据包的VM将IP forwarding设置为ON,就有可能。

您还需要确保正在处理流量的VM具有允许该操作的Ingress FW规则。

我刚刚测试了以下内容,并且有效:

  • 创建了VM A1,并允许来自任何地方的FW规则。
  • 创建了另一个启用IP转发的VM B1。
  • 运行上面的代码以生成数据包并将其从B1发送到A1。
  • 我可以通过tcpdump看到到达A1的数据包。