¿Cómo puedo falsificar paquetes perdidos (o hacerlos fallar)?

Fondo

Uno de nuestros clientes sufre de un problema intermittant con su Internet donde dejará caer los paquetes cuando un usuario descarga un archivo grande (su TI está mirando en el problema).

Tengo una aplicación que consiste en un servidor web con Windows 2008 R2 IIS7.5, y un cliente que ejecuta Windows 7, Chrome, que utiliza una larga ejecución XMlHttpRequest para transferir "mensajes" desde el servidor al cliente.

El problema.

Mi aplicación debe ser debe ser bastante inmune a estas pérdidas de paquetes, pero en la práctica no lo es.

Quiero probar la aplicación bajo varios escenarios diferentes de problemas de red, por ejemplo, pérdida aleatoria de paquetes de 1%, y pérdida de paquetes explosiva – digamos pérdida completa de paquetes de 4000 ms, y así sucesivamente.

Estoy buscando una solución que me permite "reproducir" un escenario y probar mi aplicación. Podría usar 3G, o desconectar y desenchufar el cable de red, pero los efectos no son muy reproducibles.

La pregunta.

¿Hay una aplicación / controlador que puedo instalar en mi máquina para imitar "dudoso" conexiones a Internet? O tal vez un dispositivo o servidor proxy que puedo utilizar en la red para burlarse de estos escenarios?

Supongo que no es muy fácil de hacer en una computadora moderna, porque espero que la mayoría de la pila de TCP se descarga a la tarjeta de red, pero habría pensado que esto era una cosa bastante popular para tratar de hacer, sin embargo no lo he Tuvimos suerte en google. Soy más proficiente en Windows, pero una solución que utiliza Linux, ya sea como cliente, o proxy sería bienvenida.

2 Solutions collect form web for “¿Cómo puedo falsificar paquetes perdidos (o hacerlos fallar)?”

Un simple router linux en el medio podría hacer esto para usted sin problemas. Sólo haz algo de lectura en netem . Puede replicar todo lo que incluye paquetes perdidos, paquetes reordenados, paquetes dañados e incluso latencia. Lo uso yo mismo para simular enlaces basados ​​en satélites.

He utilizado TMNetSim para realizar esto. Proxies cualquier puerto que desee, por lo que podría ser utilizado para la mayoría de las aplicaciones.

http://www.tmurgent.com/Tools.aspx

Es posible que desee realizar una captura de paquetes correlacionados en el lado del cliente y del servidor y determinar si el cliente recibe un paquete RST. Si es así, es que viene de su servidor. Y se produce en tiempos predecibles, como después de cinco minutos de inactividad.

  • ¿Cómo el tráfico de networkingirigir stunnel?
  • Cómo boost el tamaño MTU en Linux 2.6?
  • ¿Cuál es la mejor subnetworking IP para evitar colisiones de subnetworking?
  • ¿Un ping a 127.0.0.1 golpeó la tarjeta de networking? ¿Qué RFC / norma establece que?
  • Demasiada connection ESTABLISHED desde una sola dirección IP en Apache
  • La dirección IP utilizada por nslookup y ping es diferente
  • ¿Cómo puedo supervisar el tráfico TCP / IP (o HTTP) de una máquina remota?
  • Análisis de los problemas de reorderación de packages tcp
  • Cómo entender el "Ejemplo de una subnetworking"?
  • Linux kernel 3 Ajuste de TCP IP
  • ¿Cómo get una list de todas las direcciones IP (e idealmente los nombres de dispositivos) en una LAN?
  • Resultado de ping impar en la networking
  • Reenvío de puertos serie a través de TCP / IP (servidor linux)
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.