Симуляция потери пакетов
Модератор: Модераторы разделов
-
- Модератор
- Сообщения: 20975
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Симуляция потери пакетов
Нужно протестировать, как ведёт себя программа в случае потери пакетов (конкретно интересует UDP). Про tc знаю, но может быть, кто-нибудь подскажет более простой вариант, например, работающий как враппер, чтобы не мешать работе всей системы?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 523
- ОС: Manjaro
Re: Симуляция потери пакетов
Вот такая штука не подойдёт: https://github.com/Shopify/toxiproxy ?
Заявлена как TCP-прокси, но в коде тестов нашёл, что UDP вроде как тоже можно
https://github.com/Shopify/toxiproxy/blob/7abcb6f9cf95d2fb27244435e22b16bda14ab5c3/_examples/tests/cluster.yml#L15
Заявлена как TCP-прокси, но в коде тестов нашёл, что UDP вроде как тоже можно
https://github.com/Shopify/toxiproxy/blob/7abcb6f9cf95d2fb27244435e22b16bda14ab5c3/_examples/tests/cluster.yml#L15
-
- Модератор
- Сообщения: 20975
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Симуляция потери пакетов
Нет, там только TCP. Да и вообще такой вариант предполагает настройку приложения на отправку запросов на конкретный адрес:порт, а в моём случае такого нет (там DNS). Неплохо бы добавить, конечно, но не сейчас.
Поясню: речь про gross. Словил сегфолт, последняя запись в логе — что не получен ответ от сервера, корка не сохранилась. Вот пытаюсь воспроизвести теперь.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Модератор
- Сообщения: 20975
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Симуляция потери пакетов
Раз готового не нашлось, решил вопрос подменой функции recvfrom. Просто отбрасываю половину полученного. Ошибка воспроизвелась, а может быть, и не одна она там, буду ковырять.
код (да, он не потокобезопасный, ну и пофиг)
код (да, он не потокобезопасный, ну и пофиг)
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |