Мережеві інструменти, що імітують повільне мережеве з'єднання [закрито]


243

Я хотів би візуально оцінити час відгуку веб-сторінок для кількох типів підключень до Інтернету (DSL, Cable, T1, комутований номер тощо), поки мій браузер і веб-сервер знаходяться в одній локальній мережі або навіть на одній машині. Чи є якісь прості мережеві інструменти або плагіни браузера, які сповільнюють пропускну здатність мережі, щоб імітувати різні сценарії підключення до реального світу.

Я вдячний за будь-який внесок з цього приводу.


2
Лише зауваження, ви можете переписати це на serverfault.com.
JP Alioto

5
Користувачі OSX Mountain Lion можуть використовувати Кондиціонер мережевих посилань - stackoverflow.com/questions/11699805/… .
Джо Масілотті


Відповіді:


23

спробуйте Traffic Shaper XP, ви можете легко обмежити швидкість IE або іншого браузера за допомогою цього додатка, а також його безкоштовно


2
kaspersky повідомляє, що завантаження з цього сайту містить програму для завантаження троянів.
Боб Мур

20
Здається, не працює в Windows 7.
Znarkus

1
Я не міг змусити це працювати. Чи підтримує він трафік до localhost або 127.0.0.1 адреси?
Андерсон

1
@Anderson, певно, ні. Наскільки я пам'ятаю, Windows не має внутрішнього стеку для локальних з'єднань, як, наприклад, * nix.
Меттью Шарлі

4
Я використовую Clumsy ( jagt.github.io/clumsy/index.html ) сам.
simongus

266

У Linux див. Netem : ядро ​​вже містить підтримку для формування трафіку і може імітувати високу затримку, низьку пропускну здатність, втрати пакетів і всі інші несприятливі умови, навіть на пристрої із зворотним циклом (так що вам не потрібно справжнього, фізична мережа для тестування поперек).


49
+1 до цього. Дивовижно. За допомогою однієї команди я можу змусити "localhost" вести себе як публічний інтернет-сервіс на wifi-кафе: sudo tc qdisc add dev lo root netem delay 500ms
Сем Стокс

7
Солодке! Документи тут: linuxfoundation.org/collaborate/workgroups/networking/netem
Thomas Ahle

44
Супер круто. Просто хочу додати, як знову зняти емуляцію. Додамо: sudo tc qdisc add dev lo root netem delay 100msВидалити:sudo tc qdisc del dev lo root netem delay 100ms
freeall

14
Ви можете повністю відновити всі правила ТСА на шлейф з однією командою sudo tc qdisc del dev lo root- зміна loв , eth0якщо ви використовуєте дротове з'єднання і т.д.
Хеміш Downer

6
Останні версії netem підтримки , що обмежують пропускну здатність занадто використовуючи параметр швидкості: tc qdisc add dev lo root handle 1:0 netem delay 10ms rate 1mbit limit 1000. Зверніть увагу , що для деяких пристроїв, таких як петлеве пристрій, необхідно також встановити його , щоб мати довжину трохи нульову чергу для опції швидкості до роботи: ifconfig lo txqueuelen 1000. Дивіться serverfault.com/a/394949/76090
z0r

77

Я воскрешаю цю нитку, бо нещодавно відчував ту саму потребу. Дивовижно я виявив, що Фіддлер може бути використаний для цього, налаштувавши правила та додавши цей рядок oSession["response-trickle-delay"] = "150";у розділ OnBeforeResponse. Фіддлер справді дивовижний


35
В останніх версіях Fiddler потрібно ввімкнути лише Simulate Modem SpeedsПравила -> Продуктивність.
Знаркус

4
+1 Fiddler - це винятковий інструмент, можливо, надмірний рівень для цього, але, безумовно, варто обійтися. Ви можете легко змусити Fiddler лише поспілкуватися з однією програмою, скориставшись процесорним фільтром, не потрібно встановлювати проксі-сервери у вашій програмі!
Дібстер

Я вже був коханцем Фіддлера, але тепер просто не можу жити без нього. Я не знав, що інструмент, який мені потрібен, живе зі мною щодня :)
Ігнасіо Солер Гарсія

5
Зауважте, що це рішення, яке стосується лише вікон, якщо ви не готові поспішати з хаками та обхідними шляхами.
crazy2be

19

Спробуйте НОВОГО Майкрософт, він працював ідеально для мене. Він постачає спеціальні затримки, методики падіння пакетів та інше :)

http://blog.mrpol.nl/2010/01/14/network-emulator-toolkit/

Оновлення 1:

Ось хороший відео-посібник для NEWT - Мережевий емулятор для навчального посібника з інструментами Windows (Кредити до Jimmery)


2
Так, я думаю, що це працює на рівні водія.
Еран Бетцалель

1
Я спробував це, але не зміг розібратися - чи є файл довідки де-небудь?
UpTheCreek

1
Я знаю основні концепції мереж - але не могла змусити її щось зробити.
UpTheCreek

1
Використовуйте кнопку сліду (схожа на жовту лапку), щоб побачити, чи відповідають ваші фільтри будь-яким мережевим пакетам. Спробуйте прості речі, як-от скинути кожен пакет для порту 80 (HTTP).
Еран Бетцалель

3
Хлопці, я не отримав знань про мережу, але я взяв НОВОГО працювати після перегляду цього youtube vid: youtube.com/watch?v=s5o_GnYOloA - Сподіваюся, це допоможе
Jimmery

17

Моя робота використовує цей інструмент, і це здається досить непоганим: http://www.dallaway.com/sloppy/

Удачі.


1
+1 На основі Java, тому він чудово працює в OSX (ще не пробували його в Windows або Linux) - простий в установці та запуску, працює прозоро і не залишає безладу після цього!
Річард Інгліс

так, відмінний інструмент, веб-jnlp (не потрібна установка, просто запустіть), він створює проксі на localhost, порт налаштовується, швидкість можна динамічно змінювати +32;)
jobwat

Раніше я використовував неохайний і мені подобається, але, на жаль, він не підтримує https: groups.google.com/forum/#!topic/sloppy-discuss/tOyCx7igfkw
Jess

не моделює втрати пакетів, які мають шалені мережі.
catbadger

13

Я успішно використовував TMnetSim (внизу сторінки, в розділі "Інші інструменти" - в посиланні написано щось на зразок "ZIP: TMnetSim Network Simulator версії 2.4 32-розрядна (600 КБ)"

Це не лише для веб-сайтів - ви можете сповільнити з'єднання з будь-яким портом TCP. Я використовував його для імітації повільного SQL Server (порт 1433).


Яку ОС ви використовували? Я не міг змусити його працювати взагалі під 32-розрядною Windows 7 ...
GuyBehindtheGuy

@GuyBehindtheGuy: у тебе коли-небудь пощастило? У мене така ж потреба і в ОС ...
RedFilter

2
Я в кінцевому рахунку використовував DummyNet. Тут є версія Windows: info.iet.unipi.it/~luigi/dummynet
GuyBehindtheGuy

1
+1 Цей робив саме те , що мені потрібно, з мінімальною кількістю нечіткості. Дякую за пораду!
wasatz

Поточна версія працює на 64-бітній Windows 8.1 просто чудово.
Хайме Хаблуцель

6

Я люблю Чарльза .

Безкоштовна версія для мене працює добре.

Дросельні, перезаписні, точки перерви - це приголомшливі особливості.


2
Так, це працює добре протягом 30 днів ...: - /
BrainSlugs83

1
Для мене це працює добре і після 30 днів, потрібно трохи почекати, і він перезавантажиться через 30 хвилин. Але завжди можна отримати ліцензію.
Roland Keesom

Версія 3.7? Здається, веб-сайт означає, що через 30 днів вам потрібно придбати його, щоб продовжувати його використовувати.
BrainSlugs83

1
Ваше припущення неправильне. У перші 30 днів ви можете користуватися ним без затримок. Після цього виникають невеликі затримки, і він перезавантажується через 30 хвилин.
Roland Keesom

4
З їх веб-сайту:After 30 days if you decide to continue using Charles you must purchase a license
Флоріан Фіда

6

DummyNet

Спробуйте це зображення VMWare на основі FreeBSD. Він також має відмінне практичне використання, абсолютно безкоштовне і встає за 20 хвилин.

Оновлення: DummyNet також підтримує Linux, OSX та Windows


1
Дякую за пораду з цього приводу. Виявляється, зараз доступна рідна версія Windows, яку я успішно використовував.
GuyBehindtheGuy

Я пішов цим шляхом. Але конфігурація у мене зайняла ~ 4 години. Я повинен був знати, що замінити "192.168.0". до "192.168.196". (підмережа) через усі rc.conf та rc.firewall.
bohdan_trotsenko

5

Для Linux або OSX ви можете використовувати ipfw.

Від Quora ( http://www.quora.com/What-is-the-best-tool-to-simulate-a-slow-internet-connection-on-a-Mac )

По суті, використовуючи брандмауер для придушення всіх мережевих даних:

Визначте правило, яке використовує трубу для перенаправлення всього трафіку з будь-якої адреси джерела на будь-яку адресу призначення, виконайте таку команду (як root або за допомогою sudo):

$ ipfw add pipe 1 all from any to any

Щоб налаштувати це правило, обмежте пропускну здатність до 300 кбіт / с і накладіть 200 мс затримки в кожному напрямку:

$ ipfw pipe 1 config bw 300Kbit/s delay 200ms

Щоб видалити всі правила та відновити своє початкове мережеве з'єднання:

$ ipfw flush


4

Якщо ви використовуєте Apache, ви можете використовувати mod_bandwith.

Тут див . Параметри конфігурації.



2

Якщо ви хочете апаратне рішення, Netgear має низку дешевих комутаторів (50 доларів або більше), які обмежують пропускну здатність. Netgear Prosafe GS105E та подібні комутатори варто вивчити.


2

Ви також можете спробувати WANem, який є емулятором широкої мережі з відкритим кодом. Ви можете завантажити зображення (ISO, Knoppix live CD) або віртуальні пристрої VMWare.



1

Ви можете використовувати манекен звичайно, Існує розширення чайної мережі під назвою KauNet . що може забезпечити ще більш точний контроль над умовами мережі. Він може скидати / затримувати / повторно замовляти конкретні пакети (таким чином ви можете виконати більш глибокий аналіз випадання ключових пакетів, таких як рукостискання TCP, щоб побачити, як ваші веб-сторінки перетравлюють його). Він також працює у часовій області. Зазвичай більшість емуляторів налаштовані на роботу в області даних. У часовій області ви можете вказати, від якого часу до якого часу ви можете змінити мережеві умови.


0

Якщо вам потрібно буде моделювати якість мережевого підключення під час розробки для Windows Phone, ви можете спробувати вбудований інструмент Visual Studio під назвою Simulation Dashboard (детальніше тут http://msdn.microsoft.com/en-us/library /windowsphone/develop/jj206952(v=vs.105).aspx ):

Ви можете використовувати інформаційну панель імітації в Visual Studio, щоб перевірити додаток на ці проблеми з підключенням і не допустити, щоб користувачі не стикалися з такими сценаріями, як наступний:

  • Музика чи відео з високою роздільною здатністю заїкаються або заморожуються під час трансляції, або завантажуйте тривалий час, щоб завантажити через низькочастотне з'єднання.
  • Виклики на веб-службу закінчуються з часом.
  • Додаток виходить з ладу, коли мережа недоступна.
  • Передача даних не поновлюється, коли мережеве з'єднання втрачається та відновлюється.
  • Акумулятор користувача споживається потоковою програмою, яка неефективно використовує мережу.
  • Картування маршруту користувача перервано в навігаційному додатку.

...

У візуальній студії в меню Інструменти відкрийте панель керування імітацією . Знайдіть розділ мережевого моделювання на приладовій панелі та встановіть прапорець увімкнути мережеве моделювання .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.