Превью для статьи

Scapy в приёме «битых» сетевых пакетов

В информационных системах, когда требуется высокая скорость передачи данных, довольно часто на транспортном уровне используется протокол UDP. В некоторых ситуациях при передаче UDP пакетов по сети требуется отключение вычисления контрольной суммы (сокращенно CRC – cycle reduce code) на стороне отправителя с целью ускорения времени формирования и отправки пакета (данный протокол предусматривает такую возможность путем обнуления CRC). И вот тут кроется проблема на приёмной стороне: сетевая карта приёмника может либо на аппаратном уровне вычислять CRC и отбрасывать пакеты с несовпадающими контрольными суммами, либо это делает драйвер сетевой карты. Как следствие, нужные пакеты не доходят до сокета приложения, что делает приложение неработоспособным.