2012-03-21 6 views
0

私は、ブラウザの通信を監視することができるWinプラットフォーム上にエージェントを書くための最良の方法が何であるか知りたかったのです。ブラウザリクエスト(プロキシ、アドオンなど)でリッスンする方法は?

シナリオ:は、Chrome、FireFox、IEで事前定義されたURLへのユーザーアクセスを監視します。ヒットごとに、いくつかのデータ(ページタイトル)を持つサーバーに統計情報を送信します。私が見つけた

の方法は、これまでに、プロキシとブラウザのアドオンです。それぞれには長所と短所があります。プロキシ方法の主な欠点は、HTTPS通信の処理です。アドオンの欠点は、インストール(すべてのブラウザにインストールする必要があります)とブラウザ間のサポートです。

別の方法がありますか?私が.netで書くことができるいくつかのサービスは、起動時にブラウザで自動的にフックされますか?

ありがとう。 HTTPプロキシを、あるいはすべてのブラウザ用のプラグインを書くために -

+0

アプリケーションがたくさんあります。httpスニファなどのように、市場で利用可能です.... は、なぜあなたはそれらのいずれかを使用していませんか? –

+0

ありがとうございます。私はそれを自分で作成し、いくつかの機能を追加する必要があります。利用できるスニッファはそれに適していません。 – user1283002

答えて

1

は、あなただけの2つの選択肢があります。そのプラグインは中央サービスへのネットワークを経由してだけ順方向データ、すべてのブラウザが提供できるデータの共通セットを考え出す、プラスすべてのプラグインモデルを学習するという課題にあなたを残してできました。

私の意見では、唯一の現実的な選択肢はHTTP(s)プロキシです。そうしないと、ブラウザが変わるたびにプラグインを更新し続けるか、新しいブラウザが来て使用される可能性があるからです。

OSの「ユーザーはブラウザのURLを参照しています」というイベントはありません。ソケット接続がリモートサーバーのポート80/443に接続されていることがわかりますまたは何でも)。

だから私は強くフィドラーの後ろだとフィドラーのコアを使用して優れた作品の上に構築示唆しています。 HTTPSの

http://www.telerik.com/fiddler/fiddlercore

ますが、別の証明書を解読し、再暗号化する必要があります。必要な情報は、実際にリクエストを展開することなく利用できません。 Fiddlerは、クライアントに代わってターゲットサーバへのSSLトンネルを開き、別の証明書でクライアントへのSSLサーバとして機能することで、これを実現します。クライアントが使用する証明書が完全に信頼されている限り、問題は発生しません。したがって、あなたのシステムが無効なSSL証明書の最悪のシナリオを想定し、接続をブロックしなければならない - と述べ

は、ユーザが個人的に標的部位の識別を確認することができないことを意味します。

+0

ありがとう、これは有効なオプションですが、私はSSL終了を避けたいと思います。私は可能な限り透明にしようとしています(最初のインストールを除いて)。 – user1283002

+0

あなたはSSLリスナーを持っていない可能性があります。とにかくユーザーのSSLトラフィックを盗聴できるものをインストールしないでください。あなたは、各ブラウザ用のプラグインを書く必要があるよりも熱心ではない場合は、 –

+0

SSLリスナーは必須ですが、送信されるデータやGET/POSTパラメータは気にしません - URLとページタイトル。私は何かが何らかのブラウザによって配線されているときに通知を受けることを可能にするいくつかのイベントメカニズムを望んでいます。 – user1283002

関連する問題