#python #multiprocessing #python-multiprocessing #scapy
Вопрос:
У меня возникла проблема с созданием цикла таким образом, чтобы он запускал один и тот же сценарий scapy в 5-10 разных экземплярах. На данный момент это абсолютный минимум формирования и отправки пакетов в цикле.
pkt=Ether(src=RandMAC())/IP(src=RandIP(),dst="8.8.8.8")/fuzz(UDP(sport=RandShort(), dport=int(80))) sendp(pkt, loop=1, verbose=0)
Чего я пытаюсь добиться, так это запустить этот фрагмент кода в 5 разных экземплярах python одновременно. Этот фрагмент кода работает, когда я запускаю этот скрипт на python один раз, но цикл настолько медленный, когда я сравниваю его с открытием 10 или 15 дополнительных экземпляров python и запуском того же фрагмента кода. Но было бы очень утомительно открывать приглашение командной строки, загружать scapy, а затем вводить фрагмент кода по одному за раз. Это облегчило бы задачу, если бы просто повторно использовать этот код в 5-10 разных экземплярах python одновременно или, возможно, асинхронно, если в случае запуска всех их вместе могут возникнуть проблемы, о которых я не знаю.
Я попытался подойти к части автоматизации, удалив реализацию цикла scapy, а затем создав свой собственный модуль многопроцессорной обработки, но по какой-то причине, если я определяю цикл, например, 10 или выше, он сильно замедляет мой компьютер с самого начала, но медленно восстанавливается до рабочего состояния. Если бы я сделал цикл еще длиннее, он заблокировал бы мой компьютер, поэтому я решил прибегнуть к реализации scapy для отправки пакетов в цикле. Все, что осталось, — это автоматизировать таким образом, чтобы я мог указать, сколько экземпляров python должно выполняться с этим фрагментом кода в цикле, адрес назначения и номер порта назначения.
В течение дня или около того я пытался понять, как это автоматизировать. Любая помощь в этом будет очень полезна, так как я пробовал различные подходы, но не смог заставить их работать так, как я изначально предполагал.