Я пишу приложение для тестирования сетевого драйвера для обработки поврежденных данных. И я подумал о отправке этих данных с помощью raw-сокета, поэтому он не будет исправлен стеком TCP-IP отправляющей машины.
Я пишу это приложение исключительно на Linux. У меня есть примеры кода для использования сырых сокетов в системных вызовах, но мне бы очень хотелось, чтобы мой тест был как можно более динамичным, и пишите, если не все, в Python.
Я немного искал интернет для объяснений и примеров использования сырых сокетов в python, но не нашел ничего действительно просветительного. Просто очень старый пример кода, который демонстрирует эту идею, но ни в коем случае не работает.
Из того, что я собрал, использование Raw Socket в Python почти идентично семантике для сырого сокета UNIX, но без struct
, которые определяют структуру пакетов.
Мне было интересно, не было бы лучше не писать сырую сокетную часть теста в Python, а в C с системными вызовами и вызывать его из основного кода Python?