У меня есть программное обеспечение, которое может эмулировать такие вещи, как BER и задержки в сети. Мне нужен способ проверить модуль BER программного обеспечения, чтобы убедиться, что он действительно работает правильно. Мое решение состоит в том, чтобы создать программу, которая отправляет необработанные кадры Ethernet с полем типа, установленным в неиспользуемый тип. Внутри кадра Ethernet просто случайные биты. Для каждого отправленного кадра мне нужно записать кадр в файл pcap
. На другой стороне сетевого канала будет получающее приложение, которое просто записывает каждый увиденный пакет в свой собственный журнал pcap
. После завершения теста два журнала pcap будут сравниваться, чтобы получить BER.
Я использую модуль Python Scapy
, и пока он сделал все, что мне нужно. Я могу отправлять необработанные кадры Ethernet со случайными данными и видеть их в Wireshark. Однако я не знаю, как заставить метод wrpcap()
добавлять в файл pcap вместо перезаписи. Я знаю, что могу написать список пакетов в wrpcap
, но это приложение должно быть в состоянии работать в течение неопределенного периода времени, и я не хочу ждать, пока приложение закроется, чтобы записать все пакеты, отправленные в жесткий диск Поскольку это будет много для хранения в памяти, и если что-то случится, мне придется начинать тестирование с нуля.
У меня вопрос: как добавить файл pcap
, используя scapy
вместо перезаписи файла pcap
? Это вообще возможно? Если нет, то какой модуль может делать то, что мне нужно?
При поиске чего-то с возможностями Scapy
я столкнулся с dpkt
, но я не нашел много документации для этого. Может ли dpkt
делать то, что я прошу, и если да, то где я могу получить хорошую документацию для этого?