Альтернатива Clumsy для Windows
Clumsy большинство находит первым делом, и он хорош: бесплатный, под лицензией MIT, интерактивный и построенный на том же драйвере WinDivert, что и этот инструмент. Если он делает то, что вам нужно, пользуйтесь им. Эта страница о случаях, когда он этого не делает.
На что смотреть, какой бы вы ни выбрали
| Вопрос | Почему это решает выбор инструмента |
|---|---|
| Может ли он целиться в одно приложение? | Иначе вы портите ту машину, на которой работаете, в том числе удалённый сеанс и браузер, в котором читаете документацию. |
| Есть ли у него командная строка? | Пайплайн не может поставить флажок. Без командной строки сетевой тест никогда не станет частью сборки. |
| Повторяем ли запуск? | Случайные потери, которые нельзя повторить, дают отчёты об ошибках, которые никто больше не может воспроизвести. |
| Останавливается ли он сам? | Инструмент, который нужно не забыть выключить, в итоге останется включённым. |
| Можно ли понять, что он на самом деле сделал? | Счётчики и список соединений превращают «казалось медленным» в числа. |
Что даёт этот инструмент
- Нацеливание по процессу, PID, адресу или порту с прохождением по дереву процессов, так что браузер с тридцатью дочерними процессами остаётся одной целью.
- Тот же исполняемый файл служит командной строкой, с кодом завершения для каждого исхода и выводом NDJSON, поэтому он работает в CI.
- Запуски с seed: один и тот же seed воспроизводит те же случайные потери и тот же джиттер.
- Готовые профили: 3G, LTE, спутник, переполненное кафе, Wi-Fi в самолёте, модем 56k с коммутируемым доступом, чтобы вы начинали с чего-то правдоподобного, а не гадали числа.
- Сеансы по времени и сценарии со скриптом, чтобы помехи менялись сами, пока вы наблюдаете за приложением.
- Живой вид: график, счётчики и таблица соединений, показывающая, какое соединение затронуто.
- Интерфейс на английском, польском и упрощённом китайском и никакой телеметрии ни в каком виде.
Если вы пришли из другого инструмента
Четыре названия всплывают всякий раз, когда об этом говорят, и они не взаимозаменяемы.
| Вы знаете | Что это | Чего ждать здесь |
|---|---|---|
| tc с netem | Ответ Linux, встроенный в ядро и управляемый из командной строки. Часто именно его выдаёт поиск по эмуляции WAN. | В Windows нет tc. Это самое близкое по духу: те же виды помех, командная строка с кодами завершения и драйвер вместо дисциплины очередей. |
| Clumsy | Бесплатный интерактивный инструмент для Windows под лицензией MIT на том же драйвере WinDivert. | Берите его, когда достаточно окна и фильтра. Приходите сюда за нацеливанием по процессам, запусками с seed и командной строкой, которую может вызвать пайплайн. |
| NetLimiter | Коммерческий продукт для Windows для постоянного управления полосой пропускания по приложениям. | Другая задача. Это испытательный инструмент: включили на время, потом выключили, и портит он гораздо больше, чем скорость. |
| Fiddler или Charles | Прокси, которые могут просматривать, переписывать и ограничивать трафик, проходящий через них. | Тоже другая задача. Прокси формирует то, что через него идёт, и видит данные. Этот инструмент формирует само соединение, включая UDP и всё, что никогда не касается прокси. |
Проще говоря: если вам нужен эмулятор сети для одного приложения Windows с командной строкой, вы ищете именно такой инструмент. Если нужно читать и изменять данные приложения, вам нужен прокси, а если вы на Linux, у вас уже есть netem.
Когда лучше взять что-то другое
Быть честным дешевле, чем разочаровывающая загрузка.
- Вы на Linux или macOS. Это только для Windows, и так будет всегда, потому что он построен на драйвере Windows. В Linux стандартный ответ
tcсnetem, и дополнительное ПО не нужно. - Вам нужно постоянное управление полосой для всего компьютера, по приложениям, как функция продукта, а не тест. Для этого служат коммерческие инструменты формирования трафика вроде NetLimiter. Этот же испытательный инструмент: его задумано включать на время, а затем выключать.
- Вы не можете получить права администратора. Для перехвата пакетов они нужны. Обойти это нельзя, а инструмент, утверждающий обратное, не перехватывает ваш трафик.
- Вам нужно просматривать и переписывать данные приложения, а не ухудшать канал. Это работа прокси.