Pregunta

Nos encontramos con un escenario de prueba que debe manipular dirección IP de origen de una solicitud HTTP para simular clientes procedentes de diferentes países . ¿Conoces alguna herramienta de ayuda en esto?

Por último, pero no menos importante, nuestro sitio web está construido con ASP.NET.

Gracias.

¿Fue útil?

Solución

Como se señaló en respuesta a la pregunta "Son direcciones IP trivial para forjar" , no se puede falsificar fácilmente las direcciones de origen en un protocolo que requiere una comunicación bidireccional (por ejemplo, TCP). Tenga en cuenta que se requiere esta "comunicación bidireccional" a nivel de paquete. No se puede decir simplemente "no hay problema, Quiero enviar peticiones y respuestas HTTP ignorar." Para establecer una sesión TCP, es necesario recibir datos. Su mejor opción es utilizar un servidor proxy.

Otros consejos

En un entorno de prueba por lo general no es difícil. Primero lea esta cuestión de forma sobre red virtual interfaces.

Si el servidor y el cliente están en la misma máquina, todo lo que tiene que hacer es encontrar la manera de conseguir que su software de cliente para unirse a su interfaz virtual. wget por ejemplo, tiene la opción de especificar qué --bind-address dirección local para unirse a. navegadores web son un poco más difícil de hacer esto con; puede que tenga que simplemente se ejecuta en una máquina virtual.

Si el servidor y el cliente están en la misma LAN, sólo tiene que configurar el router con algunas rutas estáticas a la máquina cliente. En este caso, probablemente no necesitan una interfaz de red virtual, acaba de establecer una dirección IP estática para su máquina cliente; siempre y cuando la pasarela está configurado correctamente debería ser capaz de enviar paquetes al servidor, y siempre que la ruta se ha configurado correctamente las respuestas deben encontrar su camino de vuelta al cliente.

Si el cliente y el servidor están separados por una internet, es bastante más difícil. Una opción es la creación de un punto final de túnel de red en el servidor y el túnel a la máquina cliente, que "sabe" que tiene la interfaz de red virtual.

No estoy seguro de si el estándar IP permite para esto, pero si está trabajando en un entorno de laboratorio, en el que no necesita la conexión a Internet durante la prueba, puedo ver su funcionamiento bajo circunstancias siguientes:

Básicamente, me gustaría configurar la interfaz de red del servidor para utilizar 0.0.0.0 máscara de red y eliminar el resto de la tabla de enrutamiento.

A continuación, puede configurar una máquina cliente para asumir cualquier dirección IP, siempre y cuando se utiliza 0.0.0.0 máscara de red. Y la comunicación de dos vías debería ser posible.

Server[1.2.3.4/0] <---> Client[x.x.x.x/0]

Pero, por favor tengan paciencia conmigo. No he probado esto, por lo que podría ser mal: -)

Si usted tiene acceso a su infraestructura, se puede añadir una interfaz de router y luego colocar una ruta estática en el router a esa red.

Server-----Router----Internet
            /
Test_PC----/

Como alternativa se puede mirar en PBR (basado en políticas enrutamiento) y en los routers Puede paquetes fuente de bandera y cambiar la fuente sobre la marcha, por lo que el servidor va a pensar que están viniendo de donde le gustaría que vienen.

Server-------------Router_with_PBR-------------Internet----- PC
SCR:4.2.2.2        Change SCR:6.6.6.6 to 4.2.2.2              6.6.6.6

Pero hay que preguntarse por qué quiere ver cuando los paquetes provienen de diferentes países. Algunos países tienen enormes servidores proxy que de acceso al filtro ( "Gran Cortafuegos de China"), por lo que las pruebas anteriores no resultarán mucho más.

Su mejor apuesta entonces está utilizando servidores proxy o si su búsqueda de una solución a largo plazo, a continuación, configurar un servidor (virtual es ideal para esto) y el uso de RDP para la prueba. Estoy seguro de que se puede alquilar un servidor virtual en algún lugar por un mes o dos.

Eso no es posible. Porque cuando a forjar la dirección IP, la respuesta nunca va a volver, que se requiere para HTTP.

La mejor manera es usar proxies. Ver también esta pregunta en serverfault.

Si cambia su dirección IP de origen, eso significa que no hay tráfico de su servidor web será capaz de llegar de vuelta al cliente.

Usted puede ser capaz de utilizar algún tipo de proxy y / o filtro de traducción de direcciones para hacer la reasignación de tiempo que permite la comunicación bidireccional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top