Narzędzia sieciowe symulujące wolne połączenie sieciowe [zamknięte]

243

Chciałbym wizualnie ocenić czas odpowiedzi stron internetowych dla kilku typów połączeń internetowych (DSL, kablowy, T1, dial-up itp.), Podczas gdy moja przeglądarka i serwer WWW są w tej samej sieci LAN lub nawet na tym samym komputerze. Czy są jakieś proste narzędzia sieciowe lub wtyczki do przeglądarek, które spowalniają przepustowość sieci, aby symulować różne scenariusze połączeń w świecie rzeczywistym.

Doceniam wszelkie uwagi na ten temat.

MaxK
źródło
2
Tylko uwaga, możesz wysłać to pocztą krzyżową na serverfault.com.
JP Alioto,
5
Użytkowników OSX Mountain Lion można użyć połączenia sieciowego pokosu - stackoverflow.com/questions/11699805/... .
Joe Masilotti

Odpowiedzi:

23

wypróbuj Traffic Shaper XP , dzięki tej aplikacji i jej darmowemu oprogramowaniu możesz łatwo ograniczyć prędkość IE lub innej przeglądarki

Sadegh
źródło
2
kaspersky zgłasza, że ​​pobieranie z tej witryny zawierało program pobierający trojany.
Bob Moore,
20
Nie działa na Windows 7.
Znarkus
1
Nie mogłem tego uruchomić. Czy obsługuje ruch do adresu localhost lub adresu 127.0.0.1?
Anderson
1
@Anderson, prawdopodobnie nie. O ile pamiętam, Windows nie ma wewnętrznego stosu sieciowego dla połączeń lokalnych, jak zwykle * nix.
Matthew Scharley,
4
Sam używam niezdarnego ( jagt.github.io/clumsy/index.html ).
simongus
266

W systemie Linux zobacz netem : jądro zawiera już obsługę kształtowania ruchu i może symulować duże opóźnienia, niską przepustowość, straty pakietów i wszelkiego rodzaju inne niekorzystne warunki, nawet na sprzęcie zwrotnym (więc nie potrzebujesz prawdziwego, sieć fizyczna do przetestowania).

efemeryczny
źródło
49
+1 do tego. Niesamowite. Za pomocą jednego polecenia mogę sprawić, by „localhost” zachowywał się jak publiczny serwis internetowy w wifi w kawiarni: sudo tc qdisc add dev lo root netem delay 500ms
Sam Stokes
7
Słodkie! Dokumenty są tutaj: linuxfoundation.org/collaborate/workgroups/networking/netem
Thomas
44
Super fajne. Po prostu chcę dodać, jak ponownie usunąć emulację. Aby dodać: sudo tc qdisc add dev lo root netem delay 100msAby usunąć:sudo tc qdisc del dev lo root netem delay 100ms
bezpłatnie wszystkie
14
Możesz całkowicie zresetować wszystkie reguły TC dla sprzężenia zwrotnego za pomocą jednego polecenia sudo tc qdisc del dev lo root- zmień lona, eth0jeśli używasz połączenia przewodowego itp.
Hamish Downer
6
Najnowsze wersje netem wsparcie ograniczające przepustowość za pomocą opcji rate: tc qdisc add dev lo root handle 1:0 netem delay 10ms rate 1mbit limit 1000. Należy pamiętać, że dla niektórych urządzeń, takich jak urządzenia loopback, trzeba także ustawić go mieć długość kolejki niezerową dla opcji stopy do pracy: ifconfig lo txqueuelen 1000. Zobacz serverfault.com/a/394949/76090
z0r
77

Wskrzeszam ten wątek, ponieważ ostatnio mam tę samą potrzebę. O dziwo odkryłem, że Fiddler może być do tego użyty poprzez dostosowanie reguł i dodanie tego wiersza oSession["response-trickle-delay"] = "150";w sekcji OnBeforeResponse. Skrzypek jest naprawdę niesamowity

Paperino
źródło
35
W najnowszych wersjach Fiddlera wystarczy włączyć tylko w Simulate Modem Speedsobszarze Reguły -> Wydajność.
Znarkus,
4
+1 Skrzypek jest wyjątkowym narzędziem, być może przesadnym w tym, ale zdecydowanie wartym obejrzenia. Możesz łatwo zmusić Fiddlera, aby ćwiczył tylko jeden program, używając filtru procesu, bez potrzeby konfigurowania serwerów proxy w swoim programie!
Deebster
Byłem już miłośnikiem skrzypka, ale teraz nie mogę bez niego żyć. Nie wiedziałem, że narzędzie, którego potrzebuję, żyje ze mną każdego dnia :)
Ignacio Soler Garcia
5
Pamiętaj, że jest to rozwiązanie tylko dla systemu Windows, chyba że chcesz bawić się hackami i obejściami.
crazy2be
19

Wypróbuj narzędzie Microsoft NEWT, działało idealnie dla mnie. Zapewnia spersonalizowane opóźnienia, techniki upuszczania pakietów i nie tylko :)

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

Aktualizacja 1:

Oto dobry samouczek wideo dla NEWT - Samouczek Network Emulator dla Windows Toolkit (Podziękowania dla Jimmery)

Eran Betzalel
źródło
2
Tak, myślę, że działa na poziomie sterownika.
Eran Betzalel
1
Próbowałem, ale nie mogłem tego rozgryźć - czy gdzieś jest plik pomocy?
UpTheCreek
1
Znam podstawowe koncepcje sieciowe - ale nie mogłem nic zrobić.
UpTheCreek
1
Użyj przycisku śledzenia (wygląda jak żółta stopa), aby sprawdzić, czy filtry są odpowiednie dla jakichkolwiek pakietów sieciowych. Wypróbuj proste rzeczy, takie jak upuszczenie każdego pakietu dla portu 80 (HTTP).
Eran Betzalel
3
Nie mam o was wiedzy w sieci, ale mam NEWT do pracy po obejrzeniu tego filmu na youtube: youtube.com/watch?v=s5o_GnYOloA - Mam nadzieję, że to pomaga
Jimmery
17

Moja praca korzysta z tego narzędzia i wydaje się całkiem dobre: http://www.dallaway.com/sloppy/

Powodzenia.

Jon Onstott
źródło
1
+1 oparty na Javie, więc działa świetnie na OSX (jeszcze go nie wypróbowałem na Windowsie lub Linuksie) - łatwy w instalacji i uruchomieniu, działa transparentnie i nie pozostawia bałaganu później!
Richard Inglis,
tak, doskonałe narzędzie, internetowy jnlp (nie wymaga instalacji, wystarczy go uruchomić) tworzy serwer proxy na localhost, port jest konfigurowalny, prędkość można zmieniać dynamicznie +32;)
jobwat
Wcześniej używałem niechlujstwa i uwielbiam to, ale niestety nie obsługuje https: groups.google.com/forum/#!topic/sloppy-discuss/tOyCx7igfkw
Jess
nie symuluje jednak utraty pakietów z gównianych sieci.
catbadger
13

Z powodzeniem korzystałem z TMnetSim (u dołu strony, pod „Innymi narzędziami” - link mówi coś w stylu „ZIP: TMnetSim Network Simulator wersja 2.4 32-bit (600KB)”

Nie dotyczy to tylko stron internetowych - możesz spowolnić połączenia z dowolnym portem TCP. Użyłem go do symulacji wolnego serwera SQL (port 1433).

Blorgbeard wyszedł
źródło
Z jakiego systemu operacyjnego korzystałeś? Nie mogłem go w ogóle uruchomić pod 32-bitowym Windows 7 ...
GuyBehindtheGuy
@GuyBehindtheGuy: czy kiedykolwiek miałeś szczęście? Mam tę samą potrzebę i system operacyjny ...
RedFilter
2
Skończyło się na DummyNet. Jest tutaj wersja dla systemu Windows: info.iet.unipi.it/~luigi/dummynet
GuyBehindtheGuy
1
+1 Ten zrobił dokładnie to , czego potrzebowałem przy minimalnej ilości fuzz. Dzięki za wskazówkę!
wasatz
Obecna wersja działa dobrze na 64-bitowym systemie Windows 8.1.
Jaime Hablutzel
6

Kocham Charlesa .

Darmowa wersja działa dla mnie dobrze.

Ograniczanie, ponowne zapisywanie, punkty przerwania to niesamowite funkcje.

Roland Keesom
źródło
2
Tak, działa dobrze przez 30 dni ...: - /
BrainSlugs83
1
Dla mnie działa dobrze również po 30 dniach, musisz tylko trochę poczekać i uruchamia się ponownie po 30 minutach. Ale zawsze możesz uzyskać licencję.
Roland Keesom,
Wersja 3.7? Strona wydaje się sugerować, że po 30 dniach musisz ją kupić, aby nadal z niej korzystać.
BrainSlugs83
1
Twoje założenie jest błędne. W ciągu pierwszych 30 dni możesz z niego korzystać bez opóźnień. Po tym są małe opóźnienia i restartuje się po 30 minutach.
Roland Keesom
4
Z ich strony internetowej:After 30 days if you decide to continue using Charles you must purchase a license
Florian Fida
6

DummyNet

Wypróbuj ten obraz VMWare oparty na FreeBSD. Ma również doskonałe instrukcje, całkowicie za darmo i wstaje w 20 minut.

Aktualizacja: DummyNet obsługuje teraz także Linux, OSX i Windows

plamki
źródło
1
Dzięki za wskazówkę na ten temat. Okazuje się, że dostępna jest teraz natywna wersja systemu Windows, której z powodzeniem używałem.
GuyBehindtheGuy
Poszedłem tą drogą Ale konfiguracja zajęła mi ~ 4 godziny. Powinienem był wiedzieć, aby zastąpić „192.168.0”. na „192.168.196”. (podsieć) przez wszystkie rc.conf i rc.firewall.
bohdan_trotsenko,
5

W przypadku systemu Linux lub OSX można użyć ipfw.

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

Zasadniczo za pomocą zapory sieciowej do dławienia wszystkich danych sieciowych:

Zdefiniuj regułę, która używa potoku do przekierowania całego ruchu z dowolnego adresu źródłowego na dowolny adres docelowy, wykonaj następujące polecenie (jako root lub używając sudo):

$ ipfw add pipe 1 all from any to any

Aby skonfigurować tę regułę w celu ograniczenia przepustowości do 300 Kbit / si nałożenia 200 ms opóźnienia w każdą stronę:

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

Aby usunąć wszystkie reguły i przywrócić oryginalne połączenie sieciowe:

$ ipfw flush

dule
źródło
4

Jeśli używasz Apache, możesz użyć mod_bandwith.

Zobacz tutaj parametry konfiguracyjne.

Alex
źródło
2

Jeśli potrzebujesz rozwiązania sprzętowego, Netgear ma serię tanich (około 50 USD) przełączników, które ograniczają przepustowość. Warto sprawdzić Netgear Prosafe GS105E i podobne przełączniki.

Allen
źródło
2

Możesz także wypróbować WANem, który jest otwartym emulatorem sieci rozległej. Możesz pobrać obraz (ISO, Knoppix live CD) lub urządzenia wirtualne VMWare.

kri
źródło
1

Możesz użyć dummynet oczywiście. Istnieje rozszerzenie dummynet o nazwie KauNet . co może zapewnić jeszcze bardziej precyzyjną kontrolę warunków sieciowych. Może upuszczać / opóźniać / ponownie zamawiać określone pakiety (w ten sposób możesz przeprowadzić bardziej dogłębną analizę upuszczania kluczowych pakietów, takich jak uzgadnianie TCP, aby zobaczyć, jak przetwarzają to twoje strony internetowe). Działa również w dziedzinie czasu. Zwykle większość emulatorów jest dostrojona do pracy w domenie danych. W domenie czasu możesz określić, od której godziny do której możesz zmienić warunki sieciowe.

Paul Zwerky
źródło
0

Jeśli potrzebujesz symulować jakość połączenia sieciowego podczas programowania dla systemu Windows Phone, możesz wypróbować wbudowane narzędzie Visual Studio o nazwie Simulation Dashboard (więcej szczegółów tutaj http://msdn.microsoft.com/en-us/library /windowsphone/develop/jj206952(v=vs.105).aspx ):

Za pomocą pulpitu symulacji w programie Visual Studio można przetestować aplikację pod kątem problemów z połączeniem i zapobiec występowaniu przez użytkowników takich scenariuszy:

  • Muzyka lub filmy w wysokiej rozdzielczości zacinają się lub zawieszają podczas przesyłania strumieniowego lub pobieranie przez połączenie o niskiej przepustowości zajmuje dużo czasu.
  • Upłynęły limity czasu połączeń z usługą internetową.
  • Aplikacja ulega awarii, gdy żadna sieć nie jest dostępna.
  • Przesyłanie danych nie jest wznawiane, gdy połączenie sieciowe zostanie utracone, a następnie przywrócone.
  • Bateria użytkownika jest rozładowywana przez aplikację do przesyłania strumieniowego, która nieefektywnie korzysta z sieci.
  • Mapowanie trasy użytkownika jest przerywane w aplikacji do nawigacji.

...

W programie Visual Studio w menu Narzędzia otwórz Pulpit symulacji . Znajdź sekcję symulacji sieci na pulpicie nawigacyjnym i zaznacz pole wyboru Włącz symulację sieci .

Nikita G.
źródło