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.


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


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).


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


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


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)


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.


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).


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.


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


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


4

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

Zobacz tutaj parametry konfiguracyjne.



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.


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.



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.


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 .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.