Strumenti di rete che simulano una connessione di rete lenta [chiuso]


243

Vorrei valutare visivamente il tempo di risposta delle pagine Web per diversi tipi di connessioni Internet (DSL, via cavo, T1, dial-up ecc.) Mentre il mio browser e il mio server Web si trovano sulla stessa LAN o addirittura sulla stessa macchina. Esistono semplici strumenti di rete o plug-in del browser che rallentano la larghezza di banda della rete per simulare diversi scenari di connessione nel mondo reale.

Apprezzo qualsiasi input al riguardo.


2
Solo una nota, potresti postarlo su serverfault.com.
JP Alioto,

5
Gli utenti di OSX Mountain Lion possono utilizzare Network Link Conditioner - stackoverflow.com/questions/11699805/… .
Joe Masilotti,


Risposte:


23

prova Traffic Shaper XP puoi facilmente limitare la velocità di IE o di altri browser con questa App e anche il suo freeware


2
kaspersky riporta il download da quel sito come contenente un programma di downloader trojan.
Bob Moore,

20
Non sembra funzionare su Windows 7.
Znarkus,

1
Non sono riuscito a farlo funzionare. Supporta il traffico verso localhost o l'indirizzo 127.0.0.1?
Anderson,

1
@Anderson, probabilmente no. Per quanto ricordo, Windows non ha uno stack di rete interno per le connessioni locali come di solito * nix.
Matthew Scharley,

4
Uso personalmente Clumsy ( jagt.github.io/clumsy/index.html ).
simongus,

266

Su Linux, vedi netem : il kernel contiene già il supporto per lo shaping del traffico e può simulare latenza elevata, larghezza di banda ridotta, perdite di pacchetti e ogni tipo di altre condizioni avverse, anche su un dispositivo di loopback (quindi non hai bisogno di un vero, rete fisica da testare).


49
+1 a questo. Eccezionale. Con un solo comando posso fare in modo che "localhost" si comporti come un servizio Internet pubblico sulla caffetteria wifi: sudo tc qdisc add dev lo root netem delay 500ms
Sam Stokes,


44
Super cool. Voglio solo aggiungere come rimuovere di nuovo l'emulazione. Per aggiungere: sudo tc qdisc add dev lo root netem delay 100msPer rimuovere:sudo tc qdisc del dev lo root netem delay 100ms
freeall

14
È possibile ripristinare completamente tutte le regole TC per il loopback con il singolo comando sudo tc qdisc del dev lo root- passare loa eth0se si utilizza una connessione cablata ecc.
Hamish Downer,

6
Le versioni recenti di sostegno netem che limitano la larghezza di banda troppo utilizzando l'opzione tasso: tc qdisc add dev lo root handle 1:0 netem delay 10ms rate 1mbit limit 1000. Si noti che per alcuni dispositivi, come ad esempio il dispositivo di loopback, è anche necessario impostarlo per avere una lunghezza della coda non-zero per l'opzione tasso al lavoro: ifconfig lo txqueuelen 1000. Vedi serverfault.com/a/394949/76090
z0r

77

Sto resuscitando questo thread perché di recente ho avuto lo stesso bisogno. Incredibilmente ho scoperto che Fiddler può essere usato per farlo personalizzando le regole e aggiungendo questa linea oSession["response-trickle-delay"] = "150";nella sezione OnBeforeResponse. Il violinista è davvero fantastico


35
Nelle versioni recenti di Fiddler, devi solo abilitare Simulate Modem Speedsin Regole -> Prestazioni.
Znarkus,

4
+1 Fiddler è uno strumento eccezionale, forse eccessivo per questo, ma sicuramente vale la pena avere in giro. Puoi facilmente convincere Fiddler a giocherellare con un solo programma usando il filtro di processo, senza bisogno di impostare proxy nel tuo programma!
Deebster,

Ero già un amante di Fiddler ma ora non posso proprio vivere senza di essa. Non sapevo che lo strumento di cui avevo bisogno vive con me ogni giorno :)
Ignacio Soler Garcia

5
Nota che questa è una soluzione solo per Windows, a meno che tu non sia disposto a giocherellare con hack e soluzioni alternative.
crazy2be

19

Prova il NEWT di Microsoft, ha funzionato perfettamente per me. Fornisce latenza personalizzata, tecniche di rilascio dei pacchetti e altro :)

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

Aggiornamento 1:

Ecco un buon video tutorial per NEWT - Tutorial Emulatore di rete per Windows Toolkit (Crediti a Jimmery)


2
Sì, penso che funzioni a livello di driver.
Eran Betzalel,

1
L'ho provato, ma non sono riuscito a capirlo: c'è un file di aiuto da qualche parte?
UpTheCreek,

1
Conosco concetti di base sulla rete, ma non sono riuscito a farlo.
UpTheCreek

1
Usa il pulsante Traccia (sembra un piede giallo) per vedere se i tuoi filtri sono rilevanti per i pacchetti di rete. Prova cose semplici, come eliminare ogni pacchetto per la porta 80 (HTTP).
Eran Betzalel,

3
Non ho la conoscenza della rete di voi ragazzi, ma ho avuto NEWT a lavorare dopo aver visto questo video di YouTube: youtube.com/watch?v=s5o_GnYOloA - Spero che questo aiuti
Jimmery

17

Il mio lavoro utilizza questo strumento e sembra abbastanza buono: http://www.dallaway.com/sloppy/

Buona fortuna.


1
+1 basato su Java, quindi funziona alla grande su OSX (non l'ho ancora provato su Windows o Linux) - facile da installare ed eseguire, funziona in modo trasparente e non lascia un casino in seguito!
Richard Inglis,

sì, strumento eccellente, jnlp basato sul web (nessuna installazione necessaria, basta avviarlo) crea un proxy su localhost, la porta è configurabile, la velocità può essere cambiata dinamicamente +32;)
jobwat

Ho usato sciatto prima e lo adoro, ma purtroppo non supporta https: groups.google.com/forum/#!topic/sloppy-discuss/tOyCx7igfkw
Jess

non simula tuttavia la perdita di pacchetti di reti scadenti.
catbadger,

13

Ho usato con successo TMnetSim (in fondo alla pagina, sotto "Altri strumenti" - il link dice qualcosa come "ZIP: TMnetSim Network Simulator versione 2.4 32-bit (600KB)"

Non è solo per i siti Web: puoi rallentare le connessioni a qualsiasi porta TCP. Lo stavo usando per simulare un lento SQL Server (porta 1433).


Quale sistema operativo stavi usando? Non riuscivo a farlo funzionare su Windows 7 a 32 bit ...
GuyBehindtheGuy

@GuyBehindtheGuy: hai mai avuto fortuna? Ho lo stesso bisogno e lo stesso sistema operativo ...
RedFilter,

2
Ho finito per usare DummyNet. C'è una versione di Windows qui: info.iet.unipi.it/~luigi/dummynet
GuyBehindtheGuy

1
+1 Questo ha fatto esattamente ciò di cui avevo bisogno con la minima quantità di fuzz. Grazie per il consiglio!
Wasatz,

La versione corrente funziona bene su Windows 8.1 a 64 bit.
Jaime Hablutzel,

6

Adoro Charles .

La versione gratuita funziona bene per me.

Accelerazione, riprogrammazione, punti di interruzione sono tutte caratteristiche fantastiche.


2
Sì, funziona benissimo per 30 giorni ...: - /
BrainSlugs83

1
Per me funziona benissimo anche dopo i 30 giorni, devi solo aspettare un po 'di più e si riavvia dopo 30 minuti. Ma puoi sempre ottenere la licenza.
Roland Keesom,

Versione 3.7? Il sito web sembra implicare che dopo 30 giorni è necessario acquistarlo per continuare a utilizzarlo.
BrainSlugs83

1
Il tuo presupposto è sbagliato. Nei primi 30 giorni puoi usarlo senza ritardi. Successivamente ci sono piccoli ritardi e si riavvia dopo 30 minuti.
Roland Keesom,

4
Dal loro sito Web:After 30 days if you decide to continue using Charles you must purchase a license
Florian Fida,

6

DummyNet

Prova questa immagine VMWare basata su FreeBSD. Ha anche un eccellente how-to, puramente gratuito e si alza in 20 minuti.

Aggiornamento: DummyNet ora supporta anche Linux, OSX e Windows


1
Grazie per il suggerimento su questo. Si scopre che ora è disponibile una versione nativa di Windows, che ho usato con successo.
GuyBehindtheGuy,

Sono andato in questo modo. Ma la configurazione mi ha richiesto ~ 4 ore. Avrei dovuto sostituire "192.168.0". a "192.168.196." (la sottorete) attraverso tutti i file rc.conf e rc.firewall.
bohdan_trotsenko,

5

Per Linux o OSX, è possibile utilizzare ipfw.

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

Essenzialmente usando un firewall per limitare tutti i dati di rete:

Definire una regola che utilizza una pipe per reindirizzare tutto il traffico da qualsiasi indirizzo di origine a qualsiasi indirizzo di destinazione, eseguire il comando seguente (come root o utilizzando sudo):

$ ipfw add pipe 1 all from any to any

Per configurare questa regola in modo da limitare la larghezza di banda a 300 Kbit / se imporre 200ms di latenza in entrambi i modi:

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

Per rimuovere tutte le regole e ripristinare la connessione di rete originale:

$ ipfw flush


4

Se usi Apache, puoi usare mod_bandwith.

Vedi qui per i parametri di configurazione.



2

Se desideri una soluzione hardware, Netgear ha una serie di switch economici (circa $ 50) che limitano la larghezza di banda. Vale la pena indagare su Netgear Prosafe GS105E e switch simili.


2

Puoi anche provare WANem, che è un emulatore di Open Area Network open source. È possibile scaricare l'immagine (ISO, Knoppix live CD) o le appliance virtuali VMWare.



1

Puoi usare dummynet ofcourse, C'è un'estensione di dummynet chiamata KauNet . che può fornire un controllo ancora più preciso delle condizioni della rete. Può rilasciare / ritardare / riordinare pacchetti specifici (in questo modo è possibile eseguire un'analisi più approfondita del rilascio di pacchetti chiave come l'handshake TCP per vedere come vengono digerite dalle pagine Web). Funziona anche nel dominio del tempo. Di solito la maggior parte degli emulatori sono sintonizzati per funzionare nel dominio dei dati. Nel dominio del tempo è possibile specificare da che ora a che ora è possibile modificare le condizioni della rete.


0

Nel caso in cui sia necessario simulare la qualità della connessione di rete durante lo sviluppo per Windows Phone, è possibile provare uno strumento integrato di Visual Studio chiamato Simulation Dashboard (maggiori dettagli qui http://msdn.microsoft.com/en-us/library /windowsphone/develop/jj206952(v=vs.105).aspx ):

È possibile utilizzare la Dashboard di simulazione in Visual Studio per testare l'app per questi problemi di connessione e per aiutare gli utenti a incontrare scenari come i seguenti:

  • La musica o i video ad alta risoluzione si bloccano o si bloccano durante lo streaming o impiegano molto tempo a scaricare tramite una connessione a larghezza di banda ridotta.
  • Le chiamate a un servizio Web falliscono con un timeout.
  • L'app si arresta in modo anomalo quando non è disponibile alcuna rete.
  • Il trasferimento dei dati non riprende quando la connessione di rete viene persa e quindi ripristinata.
  • La batteria dell'utente viene scaricata da un'app di streaming che utilizza la rete in modo inefficiente.
  • La mappatura del percorso dell'utente viene interrotta in un'app di navigazione.

...

In Visual Studio, nel menu Strumenti , apri Simulation Dashboard . Trova la sezione di simulazione di rete della dashboard e seleziona la casella di controllo Abilita simulazione di rete .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.