Альтернатива Clumsy для Windows
Clumsy є інструментом, який більшість людей знаходить першим, і він хороший: безкоштовний, з ліцензією MIT, інтерактивний і побудований на тому самому драйвері WinDivert, що й цей інструмент. Якщо він робить те, що вам потрібно, користуйтеся ним. Ця сторінка про випадки, коли не робить.
На що дивитися, що б ви не обрали
| Питання | Чому це вирішує вибір інструмента |
|---|---|
| Чи може він цілитися в один застосунок? | Інакше ви погіршуєте машину, на якій працюєте, зокрема віддалений сеанс і браузер, у якому читаєте документацію. |
| Чи є в нього командний рядок? | Pipeline не може поставити прапорець у чекбоксі. Без нього мережевий тест ніколи не стане частиною збірки. |
| Чи запуск повторюваний? | Випадкова втрата, яку не можна відтворити, породжує звіти про помилки, які ніхто інший не відтворить. |
| Чи зупиняється він сам? | Інструмент, який вам треба не забути вимкнути, залишать увімкненим. |
| Чи можна дізнатися, що він насправді зробив? | Лічильники й список з’єднань перетворюють «здавалося повільно» на цифри. |
Що додає цей інструмент
- Націлювання за процесом, PID, адресою чи портом із відстеженням дерева процесів, тож браузер із тридцятьма дочірніми процесами лишається однією ціллю.
- Той самий виконуваний файл є командним рядком, із кодом завершення для кожного результату та виводом NDJSON, тож він працює в CI.
- Запуски з seed: той самий seed відтворює ту саму випадкову втрату й той самий джитер.
- Готові профілі: 3G, LTE, супутник, переповнене кафе, вайфай у літаку, модем 56k, щоб ви починали з чогось правдоподібного, а не вгадували числа.
- Сеанси з таймером і скриптові сценарії, щоб погіршення змінювалося саме, поки ви дивитеся на застосунок.
- Живий перегляд: графік, лічильники й таблиця з’єднань, що показує, яке з’єднання зачепило.
- Інтерфейс англійською, польською та спрощеною китайською і жодної телеметрії.
Якщо ви прийшли з іншого інструмента
Чотири назви згадують щоразу, коли це обговорюють, і вони не взаємозамінні.
| Ви знаєте | Що це | Чого чекати тут |
|---|---|---|
| tc з netem | Відповідь Linux, вбудована в ядро й керована з командного рядка. Часто це те, що повертає пошук емуляції WAN. | У Windows немає tc. Це найближче за духом: ті самі види погіршення, командний рядок із кодами завершення та драйвер замість дисципліни черг. |
| Clumsy | Безкоштовний інтерактивний інструмент для Windows із ліцензією MIT на тому самому драйвері WinDivert. | Обирайте його, коли досить вікна й фільтра. Приходьте сюди заради націлювання за процесом, запусків із seed і командного рядка, який може викликати pipeline. |
| NetLimiter | Комерційний продукт для Windows для постійного керування пропускною здатністю за застосунками. | Інша робота. Цей інструмент є тестовим приладом: вмикається на якийсь час, потім вимикається, і погіршує набагато більше, ніж швидкість. |
| Fiddler або Charles | Проксі, які можуть перевіряти, переписувати й обмежувати трафік, що через них проходить. | Також інша робота. Проксі формує те, що проксує, і бачить дані. Цей формує саме з’єднання, зокрема UDP і все, що ніколи не проходить через проксі. |
Простіше кажучи: якщо вам потрібен мережевий емулятор для одного застосунку Windows із командним рядком, це саме той інструмент, який ви шукаєте. Якщо ви хочете читати й змінювати дані застосунку, вам потрібен проксі, а якщо ви на Linux, netem у вас уже є.
Коли обрати щось інше
Бути чесним у цьому дешевше, ніж розчароване завантаження.
- Ви на Linux або macOS. Це лише для Windows і завжди так буде, бо побудовано на драйвері Windows. У Linux стандартною відповіддю є
tcзnetem, і додаткове програмне забезпечення не потрібне. - Вам потрібне постійне керування пропускною здатністю для всієї машини, за застосунками, як функція продукту, а не тест. Для цього призначені комерційні інструменти формування трафіку, як-от NetLimiter. Цей інструмент є тестовим приладом: його задумано вмикати на якийсь час, а потім вимикати.
- Ви не можете отримати права адміністратора. Для перехоплення пакетів вони потрібні. Обійти це не можна, а інструмент, що стверджує протилежне, ваш трафік не перехоплює.
- Вам треба перевіряти й переписувати дані застосунку, а не погіршувати канал. Це робота проксі.