Pregunta

Estoy tratando de limitar el tráfico a mi sitio web para que las personas que intenten escapar de la masa de los datos se bloqueen después de un tiempo. Se supone que debo hacer esto en base a las IP de las solicitudes entrantes. Creo que tengo la funcionalidad limitante de IP escrita, pero estoy perplejo sobre cómo puedo probarla. Necesito poder cambiar mi dirección IP muchas veces, para simular el tráfico válido. También necesito probar> 20 IP diferentes, por lo que una solución proxy para cada una no funcionará para mí.

Estoy probando el código en mi máquina local (ejecutando Ubuntu) para poder cambiar la configuración de mi servidor (Apache) si es necesario para esta prueba.

Estoy detrás de una red corporativa, por lo que no puedo cambiar la configuración de la dirección MAC/ARP para "reasignar" una nueva IP. Esperaba algún tipo de tipo de tipo de IP local, por lo que podría aprovechar el hecho de que el servidor y el cliente eran la misma máquina.

Además, estaba tratando de evitar cambiar el código antes de que se implementara en servidores de producción, pero esa puede ser la mejor manera de hacerlo.

¿Cómo puedo configurar esto?

¿Fue útil?

Solución

Bueno, lo que podrías hacer es en lugar de verificar la IP, hacer algo como esto:

$ip = '1337.1337.1337.1337';

En vez de:

$ip = $_SERVER['REMOTE_ADDR']

Y luego realice su código de corriente IP.

Entonces, cuando haya terminado, puede hacer que su código variable $ IP se vea así:

//$ip = '1337.1337.1337.1337';
$ip = $_SERVER['REMOTE_ADDR']

Para que pueda encender y apagar fácilmente el "interruptor de depuración"

EDITAR:

O incluso hacer la dinámica de IP:

$ips = Array('192.168.1.220', '120.843.592.86', '256.865.463.563');
$ip = $ips[rand(1,count($ips)-1)];

Otros consejos

Puede hacerlo fácilmente ejecutando el siguiente comando en Linux:

ifconfig et0: 0 127.0.0.2
Ifconfig Eth0: 1 127.0.0.3
etc ... (creando interfaces locales falsas)

Es posible que deba configurar Apache para escuchar en esos IP si no está escuchando en 0.0.0.0 (todas las interfaces), entonces puede acceder directamente a esos IP.

Si desea usar otras IP, también puede hacerlo fácilmente, pero recuerde eliminarlos una vez que sus pruebas estén terminadas.

Esto solo funcionará desde su máquina local, hasta su máquina local.

Hay muchas maneras en que puedes probar esto. La forma más fácil de IMO sería crear una lista de entradas ARP donde las direcciones IP que se hace son pasar un punto a la dirección MAC del servidor. Luego, puede escribir una aplicación simple que establece la dirección SRC en cada una de las direcciones IP de suplantación, conecte y envíe cualquier solicitud HTTP que desee. El servidor debe responder bien.

No estoy exactamente seguro de si esto es lo que está buscando, pero tuve que falsificar mi dirección MAC para poder obtener una nueva IP para sortear una cuota de descarga en mi universidad. Cambiar la Mac dio como resultado una nueva IP. Hay un programa en los repositorios estándar de Ubuntu llamado "MacChanger", solo ejecute eso con la opción correcta ("-r" para aleatorias) y luego especifique el dispositivo. al igual que.

sudo macchanger -r eth0

La red debe deshabilitarse cuando haga esto. Puede hacerlo haciendo clic derecho en el icono de red y desencadenando el cuadro "Habilitar red de redes".

Desea considerar hacer esto a nivel de firewall (si no en el firewall de la frontera de Corp que en un firewall SW en su anfitrión). Hay muchas situaciones en las que un host abusivo aún puede derribar o afectar el rendimiento en su sitio si solo las limita a nivel de aplicación. Todavía están consumiendo sockets en los hilos de trabajadores del servidor web a pesar de que termina rechazándolos. Incluso puede tener algún código que tenga algún gasto antes de la verificación de IP. Realmente todo depende de cuán liviano sea su aplicación, pero una cosa es segura, un firewall, ya sea hardware o SW, puede bloquear a los clientes rebeldes de manera más eficiente que su aplicación.

Esta respuesta probablemente sea exagerada para esta aplicación, pero me gusta usar tcpdump / libpcap, WinPcap, y enchufes crudos para generar tráfico. No solo tiene un gran control sobre el volumen que va y desde su aplicación, sino que aprende mucho sobre lo que puede esperar que la configuración del filtro de firewall/tráfico haga por usted y qué tipos de tráfico se bloquea que no esperaba (o que no quieres bloqueado).

Use la función aleatoria y establezca el límite en RAND (0,255) y concat la cadena en el formato IP. Cuando lo llame, obtendrá una nueva dirección IP

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