Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
requests-ip-rotator — AWS API Gatewayの大規模なIPプールをプロキシとして利用し、擬似的に無限のIPを生成してウェブスクレイピングやブルートフォース攻撃を行うPythonライブラリ。 | Kitploit
ツール/GitHubGitHub/ge0rg3/requests-ip-rotator
パスワード攻撃ウェブプロキシと傍受IDS/IPS回避情報収集WAFバイパスウェブセキュリティペネトレーションテストクローラー
GitHubge0rg3/requests-ip-rotator

requests-ip-rotator

AWS API Gatewayの大規模なIPプールをプロキシとして利用し、擬似的に無限のIPを生成してウェブスクレイピングやブルートフォース攻撃を行うPythonライブラリ。

リポジトリを見る
1.7k17271ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Swiftproxy の誇り高きスポンサー

高性能なレジデンシャルプロキシ。80M+ IPプールを195か国以上で展開 — 大規模データ収集やブラウザ自動化におけるリクエスト成功率を向上させ、IPブロックを削減します。requests-ip-rotator、Playwright、Selenium、その他のスクレイピングツールとの併用に最適です。

無料トライアルを開始 →


requests-ip-rotator

AWS API Gatewayの大規模IPプールをプロキシとして利用し、擬似的な無限IPを生成してWebスクレイピングやブルートフォース攻撃を行うためのPythonライブラリです。

このライブラリを使用することで、IPベースのレート制限を回避できます。

X-Forwarded-Forヘッダーは自動的にランダム化され、指定がない限り適用されます。指定しない場合、AWSはクライアントの実際のIPアドレスをこのヘッダーに送信するためです。

AWSのApiGatewayは利用可能な任意のIPからリクエストを送信します。AWSインフラが非常に大規模であるため、毎回異なるIPになることがほぼ保証されています。ApiGatewayをプロキシとして使用することで、これを活用して毎回異なるIPからリクエストを送信できます。ただし、これらのリクエストは独自のAWSヘッダー(例:X-Amzn-Trace-Id)を伴うため、容易に識別・ブロックされる可能性があることに注意してください。


インストール

このパッケージはpypiに公開されているため、以下のいずれかの方法でインストールできます:

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

 

簡単な使い方

root@kitploit:~
import requests
from requests_ip_rotator import ApiGateway

# ゲートウェイオブジェクトを作成し、AWSで初期化
gateway = ApiGateway("https://site.com")
gateway.start()

# ゲートウェイをセッションに割り当て
session = requests.Session()
session.mount("https://site.com", gateway)

# リクエストを送信(IPはランダム化されます)
response = session.get("https://site.com/index.php", params={"theme": "light"})
print(response.status_code)

# ゲートウェイを削除
gateway.shutdown()

別の使い方(自動開始とシャットダウン)

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)

方法1を使用する場合、shutdown() メソッドでゲートウェイをシャットダウンしないと、将来的に課金される可能性があるので注意してください。

 

コスト

API Gatewayはリージョンあたり最初の100万リクエストまでは無料です。そのため、ほとんどのユースケースでは完全に無料で利用できるはずです。 本稿執筆時点では、無料枠を超えた場合、AWSは100万リクエストあたり約3ドルを請求します。 リクエストにデータストリームが含まれる場合、AWSはデータ転送料金として1GBあたり0.09ドルを請求します。  

ドキュメント

AWS認証

環境変数による認証設定を推奨します。awscli を使用して aws configure を実行するか、またはこのスレッドの手順に従って AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY 変数を自分で設定することもできます。

アクセスキーIDとシークレットは、公式AWSチュートリアルに従って見つけることができます。

 

ApiGatewayオブジェクトの作成

ApiGatewayクラスは以下のオプションパラメータで作成できます:

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

# 2つのリージョンのみにゲートウェイを設定(アウトバウンドHTTP IPとポート)
gateway_1 = ApiGateway("http://1.1.1.1:8080", regions=["eu-west-1", "eu-west-2"])

# 追加リージョンパックでHTTPS googleへのゲートウェイ、指定されたアクセスキーペアを使用
gateway_2 = ApiGateway("https://www.google.com", regions=EXTRA_REGIONS, access_key_id="ID", access_key_secret="SECRET")

 

APIゲートウェイの開始

ApiGatewayオブジェクトは start メソッドを使用して開始する必要があります。 デフォルトでは、サイトに対して既存のApiGatewayが存在する場合、新しいものを作成せずに既存のエンドポイントを使用します。 このメソッドはパラメータを必要としませんが、以下のオプションを受け付けます:

root@kitploit:~
# サイトに新しいApiGatewayインスタンスを開始、または既存のエンドポイントがあればそれを見つける。
gateway_1.start()

# 既存のエンドポイントがあっても、新しいApiGatewayインスタンスを開始。
gateway_2.start(force=True)

 

リクエストの送信

リクエストはApiGatewayオブジェクトをrequests.Sessionオブジェクトにアタッチして送信します。 mount で指定するサイトは、ApiGateway コンストラクタに渡したサイトと一致している必要があります。

root@kitploit:~
import requests

# gateway_1で作成したサイトにPOSTリクエストを送信。ランダムな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"})

# アウトバウンドリクエストにX-Forwarded-Forヘッダーとして127.0.0.1を送信(指定しない場合はランダム化される)。
session_1.post("http://1.1.1.1:8080/update.php", headers={"X-Forwarded-For", "127.0.0.1"})

# ランダムIPからGoogle検索クエリを実行
session_2 = requests.Session()
session_2.mount("https://www.google.com", gateway_2)
session_2.get("https://www.google.com/search?q=test")

 

ApiGatewayリソースのクローズ

ApiGatewayリソースは使用後は必ずシャットダウンし、ダングリングなパブリックエンドポイントが残ってアカウントに余計な課金が発生するのを防ぎましょう。 これはApiGatewayオブジェクトの shutdown メソッドで行います。ApiGatewayオブジェクトのコンストラクタで指定されたリージョンのすべてのリソースをクローズします。

root@kitploit:~
# "http://1.1.1.1:8080" の "eu-west-1" と "eu-west-2" にあるすべてのゲートウェイプロキシをシャットダウン
gateway_1.shutdown()

# "https://www.google.com" の ip_rotator.EXTRA_REGIONS にあるすべてのゲートウェイプロキシをシャットダウン
gateway_2.shutdown()

必要に応じて、特定のエンドポイントのみを選択的にシャットダウンすることもできます。その場合は、shutdown() メソッドにエンドポイントの配列を渡します。例:

root@kitploit:~
# 新しいゲートウェイを強制開始(リージョンに既存のエンドポイントがあっても新しいものを作成)、その後最初の3つだけを削除。
gateway_3 = ApiGateway("http://1.1.1.1:8082", regions=ALL_REGIONS)
endpoints = gateway_3.start(force=True)
gateway_3.shutdown(endpoints[:3])

require_manual_deletion パラメータを True に設定して開始されたゲートウェイは、shutdown メソッドでは削除されません。AWS CLIまたはWebサイトから手動で削除する必要があります。

メディア

  • DOGEソフトウェアエンジニアのコンピュータが情報窃取型マルウェアに感染(NPR)
  • DOGE従業員のコードがNLRB内部告発者を支持(Krebs on Security)

クレジット

コアとなるゲートウェイ作成と整理のコードは、RhinoSecurityLabsのIPRotate Burp Extensionから応用されました。 X-My-X-Forwarded-Forヘッダー転送の概念は、ustayready氏のfireproxプロキシで最初に考案されました。

ツールをダウンロード
名前説明必須デフォルト
siteリクエストの送信先サイト(パスを除く)。はい
regionsゲートウェイをセットアップするAWSリージョンの配列。いいえip_rotator.DEFAULT_REGIONS
access_key_idAWSアクセスキーID(環境変数を上書きします)。いいえ環境変数に依存します。
access_key_secretAWSアクセスキーシークレット(環境変数を上書きします)。いいえ環境変数に依存します。
verboseステータスメッセージとエラーメッセージを含めるかどうか。いいえTrue
名前説明必須デフォルト
endpoints既存のエンドポイントの配列(例:前回のセッションから)。いいえ
force既存のエンドポイントが存在しても、新しいエンドポイントのセットを作成する。いいえFalse
require_manual_deletionApigatewayが shutdown() 呼び出し後も持続するかどうかを指定するブール値。いいえFalse