Почему в Scapy увеличивается IP-адрес отправителя? - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь создать пакет 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-адрес по какой-то причине неверен:

enter image description here

Любая помощь в исправлении будет приветствоваться.

1 Ответ

1 голос
/ 26 мая 2020

/16 в ваших адресах называется сетевой маской в ​​нотации CIDR. Это означает, что ваши адреса - это подсети, которые включают в себя все возможные адреса от 169.254.0.0 до 169.254.255.255. (То же самое для исходного IP) См. https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing и https://en.wikipedia.org/wiki/Private_network

Scapy собирается отправить 256x256x256x256 (с учетом как sr, так и dst ) пакеты со всеми возможными адресами, начиная, как вы видели, с 0.0. Вам просто нужно удалить /16.

...