web-dev-qa-db-ja.com

複数のWebサーバーに対してhttpWeb要求をキャプチャして再生するにはどうすればよいですか?

私の全体的な目標は、WebアプリケーションへのHTTP投稿をキャプチャしている間、本番システムを中断しないことです。これにより、閉じたアプリケーションからのテレメトリをリバースエンジニアリングできます。 HTTP投稿の送信者は制御できますが、受信Webアプリケーションは制御できません。

リクエスト「フォーク」プロキシが必要なようです。要求をマスターとスレーブの2つのエンドポイントにプッシュし、マスターエンドポイントからの応答のみをリクエスターに中継するリバースプロキシの一種。私はサーバーオタクではないので、このようなものが存在する可能性がありますが、私が探しているものの芸術の用語がわかりません。

別の可能性は、単純なロギングプロキシである可能性があります。 Webリクエストのログをキャプチャします。ログを書き直して、「スレーブ」Webアプリケーションをターゲットにします。カールなどでログを再生します。

ご協力いただきありがとうございます。

2
KevM

wireshark、ettercap、tcpdump、snortが思い浮かびます。ほとんどすべてのlibpcapアプリケーションがそれを行います。 freshmeat.netまたはsourceforge.netを試して、パケットキャプチャアプリケーションを探すことができます。誰かがあなたがWWWリプレイ/分析を行うことを可能にする何かを開発したと確信しています。

ソースを制御できる場合は、その間にルーターを配置して、トラフィックをキャプチャすることもできます。これが中間者攻撃の仕組みです。

ただし、snortを使用して複雑なルールを作成する以外に、探しているデータをどれだけ簡単に取得できるかはわかりません。 tcpdumpは、「トランザクション」ごとにファイルに書き込むことができますが、結果のファイルを少しデコードする必要があります。

POSTマシンがhttps://を使用している場合、どのソリューションでも問題が発生する可能性があります。

1
karmawhore

Burpsuiteをお試しください。 BurpSuite

無料版では、リクエスト/レスポンスをプロキシできます。その後、これらを変更して再生できます。プロバージョンはあなたにいくつかの素晴らしいスキャンツールを提供します。

無料版をチェックして、それがあなたのために働くかどうか確かめてください。

2
sxw123

さらに3つのオプション:

ブラウザアドオン: Postman for Chrome or RESTClient for Firefox、これらを使用すると、リクエストを再生できます。

デスクトップアプリとして、非常に強力なものはWindows用の Fiddler であり、MonoフレームワークのLinux/Mac(アルファ版)でも利用できます。

1
Juanga Covas

私が働いているところでは、最近Goプログラミング言語で多くのことを行っています。このツール https://github.com/buger/gor まさにあなたが探しているもののようです。使いやすく、オープンソースで、ほとんど何でもうまく機能します。ただし、これはそこに存在する多数のソリューションの1つにすぎず、周りを見回すと、スタックにより適したものが見つかる可能性があります。

1
Noah Heil

キャプチャしたリクエストをブラウザから再送信/再生する場合は、ブラウザでWeb開発者モードに入り、ネットワークリクエストを表示する必要があります。次に、目的のリクエストを右クリックします。最近のほとんどのブラウザでは、cURLとしてコピーするオプションがあります。その後、結果のコマンドをターミナルに貼り付けて、キャプチャしたコマンドを再実行できます。 curlツールを使用して適合させます。一部のブラウザ(Mozillaなど)には、ブラウザ内から編集および再送信するオプションもあります。

0
Pierz