1

データベースに存在する Web サイトにアクセスするたびに、Web サイト固有の情報をユーザーに通知できるアプリケーションを構築しようとしています。これは、ブラウザーに依存しない方法で行う必要があります。これにより、ユーザーが Web サイトにアクセスするときに常に情報が表示されます (ユーザーが Web サイトにアクセスするために使用しているブラウザーやその他のツールに関係なく)。

私の最初の (部分的に成功した) アプローチは、System.Net.Sockets.Socket クラスなどを使用してデータ パケットを調べることでした。残念ながら、このアプローチは、ユーザーが管理者権限を持っている場合にのみ機能することがわかりました。そしてもちろん、それは私が望んでいることではありません。私の目標は、ユーザーがすぐに使用できる比較的単純なプログラムを 1 つインストールできるようにすることです。

この後、代替案を探し、WinPcap とその .NET ラッパーに関する多くの情報を見つけました (すでに c# .NET をプログラミングしていると言いましたか?)。しかし、WinPcap を使用すると、これをユーザーの PC にインストールする必要があり、いくつかの dll ファイルとコードを参照するだけの方法がないことがわかりました。インストーラーの前提条件として WinPcap を含めることは既に検討しましたが、これも面倒です。

まあ、簡単に言えば。アプリケーションで、ユーザーが現在アクセスしている Web サイトを知りたいです。ネットワークのデータ パケットを確認する必要があると思いますが、これに対する適切な解決策が見つかりません。私のアプリケーションは C# .NET (4.0) でビルドされています。

4

5 に答える 5

1

1つの簡単なアイデア:トラフィックを直接監視する代わりに、ページの現在のURLを送信するブラウザー拡張機能をインストールするのはどうでしょうか。次に、そのURLがデータベースにあるかどうかを確認し、オプションでブラウザ拡張機能を使用してユーザーにメッセージを表示できます。

これは、見えざる手のような拡張機能がどのように機能するかです...現在のページをスキャンし、処理のために関連データをサーバーに送り返します。何かが見つかった場合は、ブラウザ拡張フレームワークを使用して、それらの結果をユーザーに返します。(アラート、またはウィンドウの上部にあるバーなどを使用します)

于 2010-11-15T20:47:50.617 に答える
1

Fiddlerを使用して、インターネット トラフィックを監視できます。それは

コンピューターとインターネット間のすべての HTTP(S) トラフィックをログに記録する Web デバッグ プロキシ。Fiddler を使用すると、トラフィックを検査し、ブレークポイントを設定し、着信データまたは発信データを "いじる" ことができます。Fiddler には強力なイベントベースのスクリプト サブシステムが含まれており、任意の .NET 言語を使用して拡張できます。

これはスクリプト可能で、.NET から簡単に使用できます。

于 2011-08-27T23:54:40.537 に答える
0

良いスタートを切るために、wireshark はあなたが望むことを行います。フィルターを指定して、http ストリームを分離して表示できます。

最良の部分は、wireshark がオープン ソースであり、オープン ソースである別のプログラム API、winpcap で構築されていることです。

これがあなたが望むものだと思います。

  1. ネットワーク データをネットワークからキャプチャする
  2. コンピューターの tcp トラフィックを表示し、http データを分離して保存します (部分的またはホール内)。
  3. http 接続に関する情報を保存する

番号 1 は簡単です。winpcap チュートリアルをグーグルで検索するか、サンプル プログラムを使用してデータをキャプチャすることができます。pcap ファイル形式について勉強することをお勧めします。winpcap のすべては、この基本的な形式とその構造体を使用します。

ここで、tcp ストリームを取得し、curoption やまとまりのない部分を使用せずに、それを堅実なデータ ストリームに変換する方法を学ぶ必要があります。(つづりが間違っていて申し訳ありません) 繰り返しますが、wireshark のソース コードに非常に良い例があります。

次に、データ ストリームを使用して、http 形式や html データなどを簡単に読み取ることができます。

それが役立つことを願っています

于 2011-07-30T02:02:13.750 に答える
0

ユーザーが協力している場合は、提供するプロキシ サービスを使用するようにブラウザーを設定することができます。これにより、すべての Web トラフィックが傍受され、必要なこと (データベースの検索、ユーザーへの通知など) が行われ、元の場所に渡されます。プロキシをローカル システムで実行するか、場合によってはリモート システムで実行します。

ユーザーが協力的でない場合、またはブラウザーの設定を変更させたくない場合は、フィドラーなどのパケット スニッフィング ソリューションのいずれかを使用できます。

于 2011-08-30T12:26:13.213 に答える
0

単純で率直な方法は、コンピューターの DNS をアプリケーションを指すように変更することです。これにより、すべての DNS トラフィックがアプリを通過し、盗聴されて実際の DNS サーバーにリダイレクトされる可能性があります。また、通常は純粋な IP アドレスで動作するため、エミュール/トレント トラフィックをフィルタリングして除外する手間も省けます (IP アドレスを使用してブラウズすることで回避できるため、これも問題になる可能性があります)。

- Windows DNS サーバーを変更する方法

- DNS リゾルバー

もう 1 つの簡単な方法は、サーバーを通過するようにブラウザー プロキシを (プログラムで) 構成することです。

于 2011-08-30T10:00:44.873 に答える