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

  • ¿La connection de Squid TPROXY falla en sitios específicos?
  • Ejecutar lsof -i muestra una gran cantidad de conexiones en CLOSE_WAIT? ¿Debo preocuparme?
  • Práctico Anycast
  • Recuperar un nombre de dominio basado en una dirección IP?
  • Volver a configurar TCP IP de un sistema AIX (LPAR P770 / AIX 5.3)
  • ¿Winpcap es capaz de capturar todos los packages que pasan por una NIC Gigabit sin perder packages?
  • Recomendación para un puerto SSL no estándar
  • Una dirección IP local (RFC 1918) en mi red que no es ... local
  • 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.

    El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.