Как ускорить метод send() в scapy

#python #networking #send #scapy

#python #сеть #Отправить #scapy

Вопрос:

Я попытался отправить 255 различных arp-пакетов через scapy с помощью sendp, и все эти пакеты были отправлены за считанные секунды, но когда я пытаюсь отправить ICMP-пакеты, требуется много времени, пока не будет отправлен каждый пакет…. Не могли бы вы сказать мне, пожалуйста, как отправлять эти ICMP-пакеты так же быстро, как ARP-пакеты? Спасибо

 for ip in get_all_ip():
    pkt1 = Ether(dst = "ff:ff:ff:ff:ff:ff", type = 2054)/ARP(pdst = ip)
    pkt2 = Ether()/IP(dst = ip)/ICMP()
    packets_ip.append(pkt2)
    packets_p.append(pkt1)
sendp(packets_p) # Takes seconds
send(packets_ip)  # Takes a lot of time
  

Ответ №1:

Я не знаю, что вы пытаетесь сделать, но вы используете send() с пакетами Ethernet. send() используется для отправки пакетов «уровня 3» (например, IP() или IPv6() ).