为什么 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.0
和 169.254.255.255
之间所有可能地址的子网。 (源IP同理)
参见 https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing and https://en.wikipedia.org/wiki/Private_network
Scapy 将发送 256x256x256x256(占 sr
和 dst
)个包含所有可能地址的数据包,从 0.0
开始。您只需要删除 /16
.
我正在尝试制作一个发送到我的另一台计算机的 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.0
和 169.254.255.255
之间所有可能地址的子网。 (源IP同理)
参见 https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing and https://en.wikipedia.org/wiki/Private_network
Scapy 将发送 256x256x256x256(占 sr
和 dst
)个包含所有可能地址的数据包,从 0.0
开始。您只需要删除 /16
.