Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
requests-ip-rotator — Una biblioteca de Python para utilizar el gran grupo de IPs de AWS API Gateway como proxy y generar IPs pseudo-infinitas para web scraping y ataques de fuerza bruta. | Kitploit
Herramientas/GitHubGitHub/ge0rg3/requests-ip-rotator
Ataques de ContraseñasProxies Web e InterceptaciónEvasión de IDS/IPSRecopilación de InformaciónEvasión de WAFSeguridad WebPruebas de PenetraciónCrawler
GitHubge0rg3/requests-ip-rotator

requests-ip-rotator

Una biblioteca de Python para utilizar el gran grupo de IPs de AWS API Gateway como proxy y generar IPs pseudo-infinitas para web scraping y ataques de fuerza bruta.

Ver Repositorio
1.7k172hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Orgullosamente patrocinado por Swiftproxy

Proxies residenciales de alto rendimiento con un grupo de más de 80 millones de IPs en más de 195 países — mejore las tasas de éxito de las solicitudes y reduzca los bloqueos de IP durante la recolección de datos a gran escala y la automatización de navegadores. Perfecto para usar con requests-ip-rotator, Playwright, Selenium y otras herramientas de scraping.

Comience una prueba gratuita →


requests-ip-rotator

Una biblioteca de Python para utilizar el gran grupo de IPs de AWS API Gateway como proxy para generar IPs pseudo-infinitas para web scraping y fuerza bruta.

Esta biblioteca permitirá al usuario evitar los límites de velocidad basados en IP para sitios y servicios.

Los encabezados X-Forwarded-For se aleatorizan y aplican automáticamente a menos que se proporcionen. Esto se debe a que, de lo contrario, AWS enviará la dirección IP real del cliente en este encabezado.

API Gateway de AWS envía sus solicitudes desde cualquier IP disponible — y como la infraestructura de AWS es tan grande, es casi seguro que sea diferente cada vez. Al usar API Gateway como proxy, podemos aprovechar esto para enviar solicitudes desde diferentes IPs cada vez. Tenga en cuenta que estas solicitudes pueden ser fácilmente identificadas y bloqueadas, ya que se envían con encabezados únicos de AWS (por ejemplo, "X-Amzn-Trace-Id").


Instalación

Este paquete está en pypi, por lo que puede instalarlo mediante cualquiera de los siguientes métodos:

  • pip3 install requests-ip-rotator
  • python3 -m pip install requests-ip-rotator

 

Uso simple

root@kitploit:~
import requests
from requests_ip_rotator import ApiGateway

# Create gateway object and initialise in AWS
gateway = ApiGateway("https://site.com")
gateway.start()

# Assign gateway to session
session = requests.Session()
session.mount("https://site.com", gateway)

# Send request (IP will be randomised)
response = session.get("https://site.com/index.php", params={"theme": "light"})
print(response.status_code)

# Delete gateways
gateway.shutdown()

Uso alternativo (inicio y cierre automáticos)

root@kitploit:~
import requests
from requests_ip_rotator import ApiGateway

with ApiGateway("https://site.com") as g:
    session = requests.Session()
    session.mount("https://site.com", g)

    response = session.get("https://site.com/index.php")
    print(response.status_code)

Recuerde que si las puertas de enlace no se cierran mediante el método shutdown() cuando se utiliza el método #1, es posible que se le facture en el futuro.

 

Costos

API Gateway es gratuito para el primer millón de solicitudes por región, lo que significa que para la mayoría de los casos de uso esto debería ser completamente gratuito.
Al momento de escribir esto, AWS cobra aproximadamente $3 por millón de solicitudes después de superar el nivel gratuito.
Si sus solicitudes implican transmisión de datos, AWS cobraría una tarifa de transferencia de datos de $0.09 por GB.  

Documentación

Autenticación de AWS

Se recomienda configurar la autenticación mediante variables de entorno. Con awscli, puede ejecutar aws configure para hacerlo, o alternativamente, puede simplemente establecer las variables AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY usted mismo siguiendo los pasos mencionados en este hilo.

Puede encontrar su ID de clave de acceso y secreto siguiendo el tutorial oficial de AWS.

 

Creación del objeto ApiGateway

La clase ApiGateway se puede crear con los siguientes parámetros opcionales:

root@kitploit:~
from ip_rotator import ApiGateway, EXTRA_REGIONS, ALL_REGIONS

# Gateway to outbound HTTP IP and port for only two regions
gateway_1 = ApiGateway("http://1.1.1.1:8080", regions=["eu-west-1", "eu-west-2"])

# Gateway to HTTPS google for the extra regions pack, with specified access key pair
gateway_2 = ApiGateway("https://www.google.com", regions=EXTRA_REGIONS, access_key_id="ID", access_key_secret="SECRET")

 

Inicio de la puerta de enlace API

A continuación, se debe iniciar un objeto ApiGateway mediante el método start.
Por defecto, si ya existe una ApiGateway para el sitio, usará el endpoint existente en lugar de crear uno nuevo.
Esto no requiere parámetros, pero acepta los siguientes:

root@kitploit:~
# Starts new ApiGateway instances for site, or locates existing endpoints if they already exist.
gateway_1.start()

# Starts new ApiGateway instances even if some already exist.
gateway_2.start(force=True)

 

Envío de solicitudes

Las solicitudes se envían adjuntando el objeto ApiGateway a un objeto Session de requests.
El sitio proporcionado en mount debe coincidir con el sitio pasado en el constructor de ApiGateway.

root@kitploit:~
import requests

# Posts a request to the site created in gateway_1. Will be sent from a random IP.
session_1 = requests.Session()
session_1.mount("http://1.1.1.1:8080", gateway_1)
session_1.post("http://1.1.1.1:8080/update.php", headers={"Hello": "World"})

# Send 127.0.0.1 as X-Forwarded-For header in outbound request (otherwise X-Forwarded-For is randomised).
session_1.post("http://1.1.1.1:8080/update.php", headers={"X-Forwarded-For", "127.0.0.1"})

# Execute Google search query from random IP
session_2 = requests.Session()
session_2.mount("https://www.google.com", gateway_2)
session_2.get("https://www.google.com/search?q=test")

 

Cierre de recursos de ApiGateway

Es importante cerrar los recursos de ApiGateway una vez que haya terminado con ellos, para evitar endpoints públicos colgantes que puedan generar cargos excesivos en su cuenta.
Esto se realiza mediante el método shutdown del objeto ApiGateway. Cerrará todos los recursos para las regiones especificadas en el constructor del objeto ApiGateway.

root@kitploit:~
# This will shutdown all gateway proxies for "http://1.1.1.1:8080" in "eu-west-1" & "eu-west-2"
gateway_1.shutdown()

# This will shutdown all gatewy proxies for "https://www.google.com" for all regions in ip_rotator.EXTRA_REGIONS
gateway_2.shutdown()

Alternativamente, puede cerrar endpoints específicos de forma selectiva, si es necesario. Para ello, simplemente pase un array de endpoints al método shutdown(), por ejemplo:

root@kitploit:~
# This will force start a new gateway (i.e. create new endpoints even if some exist on the region already), and then delete the first 3 of them only.
gateway_3 = ApiGateway("http://1.1.1.1:8082", regions=ALL_REGIONS)
endpoints = gateway_3.start(force=True)
gateway_3.shutdown(endpoints[:3])

Tenga en cuenta que cualquier puerta de enlace iniciada con el parámetro require_manual_deletion establecido en True no se eliminará mediante el método shutdown y deberá eliminarse manualmente a través de la CLI o el sitio web de AWS.

Medios

  • Computadora del ingeniero de software de DOGE infectada por malware de robo de información (NPR)
  • El código del trabajador de DOGE respalda al denunciante de la NLRB (Krebs on Security)

Crédito

El código principal de creación y organización de la puerta de enlace fue adaptado de la extensión IPRotate Burp de RhinoSecurityLabs.
El concepto de reenvío del encabezado X-My-X-Forwarded-For fue conceptualizado originalmente por ustayready en su proxy fireprox.

Descargar herramienta
NombreDescripciónRequeridoPredeterminado
siteEl sitio (sin la ruta) al que se enviarán las solicitudes.True
regionsUn array de regiones de AWS en las que configurar puertas de enlace.Falseip_rotator.DEFAULT_REGIONS
access_key_idID de clave de acceso de AWS (sobrescribirá variables de entorno).FalseDepende de las variables de entorno.
access_key_secretSecreto de clave de acceso de AWS (sobrescribirá variables de entorno).FalseDepende de las variables de entorno.
verboseIncluir mensajes de estado y error.FalseTrue
NombreDescripciónRequeridoPredeterminado
endpointsArray de endpoints preexistentes (por ejemplo, de una sesión anterior).False
forceCrear un nuevo conjunto de endpoints, incluso si ya existen algunos.FalseFalse
require_manual_deletionBooleano que especifica si las ApiGateways deben persistir a las llamadas shutdown()FalseFalse