Bean Network Tester

Намеренный обрыв соединений

Медленно: один вид плохого. Пропало совсем: другой, и именно он находит путь в коде, который никто не писал: переподключение, повторную попытку, сообщение, которое объясняет пользователю, что случилось.

Так же можно проверить приложение офлайн, ничего не выдёргивая: режим LAN оставляет локальную сеть работающей и забирает интернет, а блокировка одного адреса делает недоступным один сервис, пока остальное соединение в порядке.

Пять разных способов пропасть

НастройкаЧто видит приложение
Сброс соединенийСоединения обрываются посреди передачи, как их обрывает брандмауэр или балансировщик нагрузки. Вы задаёте, как часто, в процентах.
Канал то включается, то выключаетсяСеть пропадает на время, потом возвращается, снова и снова. Вы задаёте длину цикла и то, какая его часть приходится на простой.
Блокировка портаВсё, что идёт на этот порт, исчезает. Больше ничего не затрагивается.
Блокировка адресаОдин сервер становится недоступным, пока остальной интернет работает.
Режим LANЛокальная сеть продолжает работать, интернет нет. Точная форма «закрытого портала» или мёртвого восходящего канала.

Из командной строки

Оборвать примерно одно соединение из десяти для одного приложения:

BeanNetworkTester.exe --rst-prob 10 --target myapp.exe --duration 60

Циклы по десять секунд, четыре из них простой: канал, который то появляется, то пропадает:

BeanNetworkTester.exe --flap-period 10 --flap-down 40 --target myapp.exe

Один сервер недоступен, всё остальное в порядке:

BeanNetworkTester.exe --block-ip 203.0.113.10

Блокировка бьёт только по тому, что назвала

В отличие от потерь или задержки, блокировка порта или адреса затрагивает только подходящий трафик. Поэтому из всего перечисленного её безопаснее всего запускать без целевого процесса, и поэтому «убрать эту одну зависимость» делается одной строкой.

Ловушка мёртвой загрузки

Есть ещё максимальный размер пакета. Немного уменьшите его, и большие передачи замедлятся. Уменьшите до значения вроде 576, и загрузки остановятся полностью, навсегда и без всякой ошибки, потому что это уже не меньший размер пакета, а классическая чёрная дыра, где сеть отбрасывает слишком большое и никогда об этом не сообщает.

Это настоящий режим отказа, который стоит воспроизводить намеренно, и по-настоящему сбивает с толку, если наткнуться на него случайно. Если загрузка молча умирает сразу после того, как вы изменили эту настройку, дело в этом.

Возврат к норме

STOP восстанавливает всё. Закрытие программы тоже, и ограничение по времени тоже, если вы его задали. Если сам инструмент вдруг умрёт посреди сеанса, внутренний сторожевой таймер остановит перехват, а не оставит вашу сеть в сломанном состоянии.

Что дальше

Готовы намеренно сломать собственную сеть?

Скачать для Windows