Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
requests-ip-rotator — Una libreria Python per utilizzare il grande pool di IP di AWS API Gateway come proxy per generare IP pseudo-infiniti per web scraping e brute forcing. | Kitploit
Strumenti/GitHubGitHub/ge0rg3/requests-ip-rotator
Attacchi alle PasswordProxy Web e IntercettazioneEvasione IDS/IPSRaccolta InformazioniBypass WAFSicurezza WebPenetration TestingCrawler
GitHubge0rg3/requests-ip-rotator

requests-ip-rotator

Una libreria Python per utilizzare il grande pool di IP di AWS API Gateway come proxy per generare IP pseudo-infiniti per web scraping e brute forcing.

Vedi Repository
1.7k1721 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Orgogliosamente sponsorizzato da Swiftproxy

Proxy residenziali ad alte prestazioni con un pool di oltre 80 milioni di IP in più di 195 paesi — migliora il tasso di successo delle richieste e riduce i blocchi IP durante la raccolta di dati su larga scala e l'automazione del browser. Perfetto per l'uso con requests-ip-rotator, Playwright, Selenium e altri strumenti di scraping.

Inizia una prova gratuita →


requests-ip-rotator

Una libreria Python per utilizzare il grande pool di IP di AWS API Gateway come proxy per generare IP pseudo-infiniti per scraping web e brute forcing.

Questa libreria permetterà all'utente di bypassare i limiti di frequenza basati su IP per siti e servizi.

Gli header X-Forwarded-For vengono randomizzati automaticamente e applicati a meno che non vengano forniti. Questo perché altrimenti AWS invierebbe il vero indirizzo IP del client in questo header.

AWS ApiGateway invia le sue richieste da qualsiasi IP disponibile - e poiché l'infrastruttura AWS è così grande, è quasi garantito che sia diverso ogni volta. Utilizzando ApiGateway come proxy, possiamo sfruttare questo per inviare richieste da IP diversi ogni volta. Tieni presente che queste richieste possono essere facilmente identificate e bloccate, poiché vengono inviate con header AWS unici (ad esempio "X-Amzn-Trace-Id").


Installazione

Questo pacchetto è su pypi, quindi puoi installarlo con uno dei seguenti metodi:

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

 

Utilizzo semplice

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()

Utilizzo alternativo (avvio e arresto automatici)

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)

Ricorda che se i gateway non vengono arrestati tramite il metodo shutdown() quando si utilizza il metodo #1, potresti essere addebitato in futuro.

 

Costi

API Gateway è gratuito per il primo milione di richieste per regione, il che significa che per la maggior parte dei casi d'uso dovrebbe essere completamente gratuito.
Al momento della scrittura, AWS addebita circa $3 per milione di richieste dopo aver superato la soglia gratuita.
Se le tue richieste coinvolgono flussi di dati, AWS addebiterà una tariffa di trasferimento dati di $0,09 per GB.

 

Documentazione

Autenticazione AWS

Si consiglia di configurare l'autenticazione tramite variabili d'ambiente. Con awscli, puoi eseguire aws configure per farlo, oppure in alternativa puoi impostare direttamente le variabili AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY seguendo i passaggi menzionati in questo thread.

Puoi trovare il tuo ID chiave di accesso e il segreto seguendo il tutorial ufficiale AWS.

 

Creazione dell'oggetto ApiGateway

La classe ApiGateway può essere creata con i seguenti parametri opzionali:

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")

 

Avvio del gateway API

Un oggetto ApiGateway deve quindi essere avviato utilizzando il metodo start.
Per impostazione predefinita, se un ApiGateway esiste già per il sito, utilizzerà l'endpoint esistente invece di crearne uno nuovo.
Questo non richiede parametri, ma accetta i seguenti:

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)

 

Invio di richieste

Le richieste vengono inviate collegando l'oggetto ApiGateway a un oggetto Session di requests.
Il sito fornito in mount deve corrispondere al sito passato nel costruttore di 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")

 

Chiusura delle risorse ApiGateway

È importante arrestare le risorse ApiGateway una volta che hai finito con esse, per evitare endpoint pubblici pendenti che possono causare addebiti eccessivi sul tuo account.
Questo viene fatto tramite il metodo shutdown dell'oggetto ApiGateway. Chiuderà tutte le risorse per le regioni specificate nel costruttore dell'oggetto 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()

Alternatively, you can selectively shutdown specific endpoints, if needed. To do this, simply pass in an array of endpoints to the shutdown() method, i.e:

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])

Tieni presente che qualsiasi gateway avviato con il parametro require_manual_deletion impostato su True non verrà eliminato tramite il metodo shutdown e dovrà essere eliminato manualmente tramite la CLI AWS o il sito Web.

Media

  • Il computer dell'ingegnere software di DOGE infettato da malware che ruba informazioni (NPR)
  • Il codice del lavoratore di DOGE supporta il whistleblower NLRB (Krebs on Security)

Crediti

Il codice principale di creazione e organizzazione del gateway è stato adattato dall'IPRotate Burp Extension di RhinoSecurityLabs.
Il concetto di forwarding dell'header X-My-X-Forwarded-For è stato originariamente concepito da ustayready nel suo proxy fireprox.

Scarica lo strumento
NomeDescrizioneObbligatorioPredefinito
siteIl sito (senza percorso) a cui verranno inviate le richieste.True
regionsUn array di regioni AWS in cui configurare i gateway.Falseip_rotator.DEFAULT_REGIONS
access_key_idID della chiave di accesso AWS (sovrascriverà le variabili d'ambiente).FalseDipende dalle variabili d'ambiente.
access_key_secretSegreto della chiave di accesso AWS (sovrascriverà le variabili d'ambiente).FalseDipende dalle variabili d'ambiente.
verboseInclude messaggi di stato ed errori.FalseTrue
NomeDescrizioneObbligatorioPredefinito
endpointsArray di endpoint preesistenti (ad esempio da una sessione precedente).False
forceCrea un nuovo set di endpoint, anche se alcuni esistono già.FalseFalse
require_manual_deletionBooleano che specifica se gli ApiGateway dovrebbero persistere nelle chiamate shutdown()FalseFalse