为什么 Scapy 中的发件人 IP 地址会增加?

Why does sender IP address increment in Scapy?

我正在尝试制作一个发送到我的另一台计算机的 TCP 数据包 500 次。我创建了这段代码:

from scapy.all import *
from scapy.utils import rdpcap
#Create your own packets
data = 'This is a test'
myPacket = Ether(src="00:E0:4C:00:02:42",dst="00:E0:4C:01:08:99")/IP(src="169.254.162.71/16",dst="169.254.208.208/16")/TCP()/Raw(load=data)
print(myPacket.show())
for i in range (0,500):
    sendp(myPacket, iface="Ethernet 4")  # sending packet at layer 2

问题是,当我 运行 这段代码时,计算机收到带有递增源 IP 的数据包,而目标 IP 是错误的,出于某种原因:

如能帮助解决此问题,我们将不胜感激。

您地址中的 /16 在 CIDR 表示法中称为网络掩码。这意味着您的地址是包含 169.254.0.0169.254.255.255 之间所有可能地址的子网。 (源IP同理) 参见 https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing and https://en.wikipedia.org/wiki/Private_network

Scapy 将发送 256x256x256x256(占 srdst)个包含所有可能地址的数据包,从 0.0 开始。您只需要删除 /16.