A veces cuando se lanzan muchas peticiones HTTP a un único host, entran en juego algunos firewalls y sistemas de seguridad que terminan bloqueando nuestra IP. Es aquí donde entra en juego la herramienta pymultitor (Python Multi Threaded Tor Proxy), que es capaz de detectar cuando se produce este baneo y cambiar IP del proxy.
El proceso más tedioso es su instalación, que debido a sus dependencias puede resultar complicada para usuarios nóveles. De todas formas podéis consultar las instrucciones de instalación detalladas en la página oficial de GitHub.
La utilidad de este programa está enfocada sobre todo en tareas de pentesting en las que utilizamos la fuerza bruta sobre algún servicio o aplicación.
Uso básico de pymultitor: Python Multi Threaded Tor Proxy.
El funcionamiento básico de pymultitor se limita a especificar el host y puerto del proxy que crearemos a la escucha y finalmente especificar el modo con el que realizar el cambio de IP.
Disponemos de cuatro modos de detección y cambio de IP:
--on-count
: cambia la IP en función del número de peticiones definidas (los recursos como imágenes o archivos javascript también cuentan).
--on-string
: cambia la IP cuando se detecta la cadena de texto definida en la respuesta HTTP.
--on-regex
: cambia la IP cuando la expresión regular encuentra una coincidencia en contenido de la respuesta HTTP.
--on-rst
: cambia la IP cuando se fuerza el cierre de la conexión con TCP RST.
Un ejemplo de uso sería:
pymultitor --on-string "IP Bloqueada"
En el ejemplo anterior se usan el host y puerto de escucha por defecto, por eso en la aplicación en la que queramos configurar el proxy usaríamos 127.0.0.1
como host y 8080
como puerto.