Herramientas de red que simulan una conexión de red lenta [cerrada]

243

Me gustaría evaluar visualmente el tiempo de respuesta de las páginas web para varios tipos de conexiones a Internet (DSL, Cable, T1, acceso telefónico, etc.) mientras mi navegador y servidor web están en la misma LAN o incluso en la misma máquina. ¿Existen herramientas de red simples o complementos de navegador que ralenticen el ancho de banda de la red para simular diferentes escenarios de conexión del mundo real?

Agradezco cualquier aportación al respecto.

MaxK
fuente
2
Solo una nota, puede publicar esto en serverfault.com.
JP Alioto el
55
Los usuarios de OSX Mountain Lion pueden usar Network Link Conditioner - stackoverflow.com/questions/11699805/… .
Joe Masilotti

Respuestas:

23

pruebe Traffic Shaper XP , puede limitar fácilmente la velocidad de IE u otro navegador con esta aplicación y también su software gratuito

Sadegh
fuente
2
Kaspersky informa que la descarga de ese sitio contiene un programa de descarga de troyanos.
Bob Moore el
20
No parece funcionar en Windows 7.
Znarkus
1
No pude hacer que eso funcione. ¿Es compatible con el tráfico a localhost o 127.0.0.1 dirección?
Anderson
1
@ Anderson, probablemente no. Hasta donde recuerdo, Windows no tiene una pila de red interna para conexiones locales como * nix generalmente tiene.
Matthew Scharley
44
Yo uso Clumsy ( jagt.github.io/clumsy/index.html ) yo mismo.
simongus
266

En Linux, vea netem : el kernel ya contiene soporte para la conformación del tráfico y puede simular alta latencia, bajo ancho de banda, pérdidas de paquetes y todo tipo de otras condiciones adversas, incluso en un dispositivo de bucle invertido (por lo que no necesita un dispositivo real, red física para probar).

efímero
fuente
49
+1 a esto. Increíble. Con un solo comando puedo hacer que "localhost" se comporte como un servicio público de internet en la cafetería wifi: sudo tc qdisc add dev lo root netem delay 500ms
Sam Stokes
77
¡Dulce! Los documentos están aquí: linuxfoundation.org/collaborate/workgroups/networking/netem
Thomas Ahle
44
Super guay. Solo quiero agregar cómo eliminar la emulación nuevamente. Para agregar: sudo tc qdisc add dev lo root netem delay 100msPara eliminar:sudo tc qdisc del dev lo root netem delay 100ms
freeall
14
Puede restablecer completamente todas las reglas de tc para loopback con el comando único sudo tc qdisc del dev lo root: cambie loa eth0si está utilizando una conexión por cable, etc.
Hamish Downer
66
Las versiones recientes de apoyo NetEm que limitan el ancho de banda también utilizando la opción de velocidad: tc qdisc add dev lo root handle 1:0 netem delay 10ms rate 1mbit limit 1000. Tenga en cuenta que para algunos dispositivos, tales como el dispositivo de bucle de retorno, también hay que configurarlo para que tenga una longitud de cola distinto de cero para la opción de tasa de trabajo: ifconfig lo txqueuelen 1000. Ver serverfault.com/a/394949/76090
z0r
77

Estoy resucitando este hilo porque recientemente tuve la misma necesidad. Sorprendentemente descubrí que Fiddler se puede usar para hacerlo personalizando las reglas y agregando esta línea oSession["response-trickle-delay"] = "150";en la sección OnBeforeResponse. Fiddler es realmente asombroso

Paperino
fuente
35
En versiones recientes de Fiddler, solo necesita habilitar Simulate Modem Speedsen Reglas -> Rendimiento.
Znarkus
44
+1 Fiddler es una herramienta excepcional, quizás exagerada por esto, pero definitivamente vale la pena tenerla cerca. Puede hacer que Fiddler solo toque el violín con un programa utilizando el filtro de proceso, ¡no es necesario configurar proxies en su programa!
Deebster
Ya era amante de Fiddler, pero ahora no puedo vivir sin él. No sabía que la herramienta que necesito vive conmigo todos los días :)
Ignacio Soler García
55
Tenga en cuenta que esta es una solución solo para Windows, a menos que esté dispuesto a jugar con hacks y soluciones alternativas.
crazy2be
19

Prueba el NEWT de Microsoft, funcionó perfecto para mí. Proporciona latencia personalizada, técnicas de caída de paquetes y más :)

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

Actualización 1:

Aquí hay un buen video tutorial para NEWT - Tutorial de Network Emulator para Windows Toolkit (Créditos a Jimmery)

Eran Betzalel
fuente
2
Sí, creo que está funcionando en el nivel del conductor.
Eran Betzalel
1
Lo intenté, pero no pude resolverlo. ¿Hay algún archivo de ayuda en alguna parte?
UpTheCreek
1
Conozco conceptos básicos de redes, pero no pude hacer que hiciera nada.
UpTheCreek
1
Use el botón de rastreo (parece un pie amarillo) para ver si sus filtros son relevantes para algún paquete de red. Pruebe cosas simples, como descartar cada paquete para el puerto 80 (HTTP).
Eran Betzalel
3
No tengo el conocimiento de la red de ustedes, pero tengo NEWT para trabajar después de ver este video de youtube: youtube.com/watch?v=s5o_GnYOloA - Espero que esto ayude
Jimmery
17

Mi trabajo utiliza esta herramienta, y parece bastante bueno: http://www.dallaway.com/sloppy/

La mejor de las suertes.

Jon Onstott
fuente
1
+1 basado en Java, por lo que funciona muy bien en OSX (aún no lo he probado en Windows o Linux): fácil de instalar y ejecutar, funciona de forma transparente y no deja un desastre después.
Richard Inglis
sí, excelente herramienta, jnlp basado en web (no se necesita instalación, solo inícielo) crea un proxy en localhost, el puerto es configurable, la velocidad se puede cambiar dinámicamente +32;)
jobwat
He usado descuidado antes y me encanta, pero lamentablemente no es compatible https: groups.google.com/forum/#!topic/sloppy-discuss/tOyCx7igfkw
Jess
sin embargo, no simula la pérdida de paquetes de redes deficientes.
catbadger
13

He utilizado con éxito TMnetSim (parte inferior de la página, en "Otras herramientas"; el enlace dice algo así como "ZIP: TMnetSim Network Simulator versión 2.4 de 32 bits (600 KB)"

No es solo para sitios web: puede ralentizar las conexiones a cualquier puerto TCP. Lo estaba usando para simular un servidor SQL lento (puerto 1433).

Blorgbeard está fuera
fuente
¿Qué sistema operativo estabas usando? No pude hacerlo funcionar en Windows 7 de 32 bits ...
GuyBehindtheGuy
@GuyBehindtheGuy: ¿alguna vez tuviste suerte? Tengo la misma necesidad y sistema operativo ...
RedFilter
2
Terminé usando DummyNet. Hay una versión de Windows aquí: info.iet.unipi.it/~luigi/dummynet
GuyBehindtheGuy
1
+1 Este hizo exactamente lo que necesitaba con la mínima cantidad de fuzz. ¡Gracias por el consejo!
wasatz
La versión actual funciona bien en Windows 8.1 de 64 bits.
Jaime Hablutzel
6

Me encanta Charles .

La versión gratuita funciona bien para mí.

La aceleración, la repetición, los puntos de interrupción son características increíbles.

Roland Keesom
fuente
2
Sí, funciona bien durante 30 días ...: - /
BrainSlugs83
1
Para mí funciona bien también después de los 30 días, solo tienes que esperar un poco más y se reinicia después de 30 minutos. Pero siempre puedes obtener la licencia.
Roland Keesom
Versión 3.7? El sitio web parece implicar que después de 30 días debe comprarlo para continuar usándolo.
BrainSlugs83
1
Tu suposición es incorrecta. En los primeros 30 días puede usarlo sin demoras. Después de eso hay pequeños retrasos y se reinicia después de 30 minutos.
Roland Keesom el
44
Desde su sitio web:After 30 days if you decide to continue using Charles you must purchase a license
Florian Fida
6

DummyNet

Pruebe esta imagen de VMware basada en FreeBSD. También tiene un excelente procedimiento, totalmente gratuito y se pone de pie en 20 minutos.

Actualización: DummyNet también es compatible con Linux, OSX y Windows por ahora

motas
fuente
1
Gracias por el consejo sobre esto. Resulta que ahora hay una versión nativa de Windows disponible, que utilicé con éxito.
GuyBehindtheGuy
Fui de esta manera. Pero la configuración me llevó ~ 4 horas. Debería haber sabido reemplazar "192.168.0". a "192.168.196". (la subred) a través de todos los rc.conf y rc.firewall.
bohdan_trotsenko
5

Para Linux u OSX, puede usar ipfw.

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

Básicamente, usar un firewall para regular todos los datos de la red:

Defina una regla que use una canalización para redirigir todo el tráfico desde cualquier dirección de origen a cualquier dirección de destino, ejecute el siguiente comando (como root o usando sudo):

$ ipfw add pipe 1 all from any to any

Para configurar esta regla para limitar el ancho de banda a 300Kbit / sy imponer 200 ms de latencia en cada sentido:

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

Para eliminar todas las reglas y recuperar su conexión de red original:

$ ipfw flush

dule
fuente
4

Si usa Apache, puede usar mod_bandwith.

Vea aquí los parámetros de configuración.

Alex
fuente
2

Si desea una solución de hardware, Netgear tiene una serie de conmutadores baratos ($ 50 más o menos) que limitan el ancho de banda. Vale la pena investigar Netgear Prosafe GS105E e interruptores similares.

Allen
fuente
2

También puede probar WANem, que es un emulador de red de área amplia de código abierto. Puede descargar la imagen (ISO, Knoppix live CD) o dispositivos virtuales VMWare.

kri
fuente
1

Puede usar dummynet, por supuesto, hay una extensión de dummynet llamada KauNet . que puede proporcionar un control aún más preciso de las condiciones de la red. Puede descartar / retrasar / reordenar paquetes específicos (de esa manera puede realizar un análisis más profundo de descartar paquetes clave como el protocolo de enlace TCP para ver cómo sus páginas web lo digieren). También funciona en el dominio del tiempo. Por lo general, la mayoría de los emuladores están ajustados para funcionar en el dominio de datos. En el dominio del tiempo, puede especificar desde qué hora hasta qué hora puede modificar las condiciones de la red.

Paul Zwerky
fuente
0

En caso de que necesite simular la calidad de la conexión de red al desarrollar para Windows Phone, puede probar con una herramienta integrada de Visual Studio llamada Simulation Dashboard (más detalles aquí http://msdn.microsoft.com/en-us/library /windowsphone/develop/jj206952(v=vs.105).aspx ):

Puede usar el Panel de simulación en Visual Studio para probar su aplicación en busca de estos problemas de conexión y para ayudar a evitar que los usuarios encuentren situaciones como las siguientes:

  • La música o los videos de alta resolución tartamudean o se congelan durante la transmisión, o demoran mucho tiempo en descargarse en una conexión de bajo ancho de banda.
  • Las llamadas a un servicio web fallan con un tiempo de espera.
  • La aplicación se bloquea cuando no hay red disponible.
  • La transferencia de datos no se reanuda cuando se pierde la conexión de red y luego se restaura.
  • La batería del usuario se agota por una aplicación de transmisión que utiliza la red de manera ineficiente.
  • El mapeo de la ruta del usuario se interrumpe en una aplicación de navegación.

...

En Visual Studio, en el menú Herramientas , abra el Panel de simulación . Busque la sección de simulación de red del tablero y marque la casilla de verificación Habilitar simulación de red .

Nikita G.
fuente