Как я могу имитировать ошибки TCP/IP?

В многоуровневом приложении мне нужно смоделировать различные ошибки TCP/IP для проверки некоторого кода повторного подключения. Кто-нибудь знает какие-либо инструменты (на основе Windows), которые я могу использовать для этой цели? Спасибо.

Ответы

Ответ 1

Попробуйте netwox (ранее lcrzoex.) Если это не будет сделано, это невозможно. Он содержит > 200 инструментов.

Ответ 2

Scapy позволяет вам контролировать каждый аспект пакетов и произвольно изменять ( "путать" ) те, которые вы не используете хочу контролировать. Если вы парень из командной строки, это отличный инструмент.

Ответ 3

Clumsy - хороший инструмент для моделирования ошибок TCP в Windows. Он может имитировать (скопировать-вставить из ссылки выше):

  • Отложите, удерживайте пакеты в течение короткого периода времени, чтобы эмулировать сеть отстающих.
  • Drop, случайным образом отбрасывать пакеты.
  • Дроссельная заслонка, блокируйте трафик за определенный период времени, затем отправляйте их в одну партию.
  • Дублировать, отправлять клонированные пакеты сразу после оригинала.
  • Не удалось изменить порядок пакетов.
  • Нарушение, перетаскивание битов содержимого пакета.

Ответ 4

Нет инструментов, о которых я знаю, но большинство ошибок TCP можно эмулировать с помощью настраиваемого фильтра LSP. Эта статья может помочь вам начать писать один


Ответ 5

В FreeBSD лучшим инструментом, безусловно, является dummynet, инструмент, первоначально разработанный для тестирования сетевых протоколов, и поскольку затем используется для различных приложений, включая управление пропускной способностью. Он имитирует/применяет ограничения очереди и полосы пропускания, задержки, потери пакетов и эффекты многолучевого распространения.

В Linux вам придется использовать netem. (Кажется, теперь есть порт dummynet, но я никогда не пробовал его.)

Подробнее (на французском языке) в в моей статье.