-3

ファイアウォールとして機能するJavaでプロジェクトを開発しています。ホスト ファイルへの読み取り/書き込み操作を使用して、特定の URL をブロックしました。

今、開いたウェブサイトの広告をブロック/フィルタリングしたいと思います。使ってみjpcap,java.netたけどダメなの?

インターネット経由で渡されたパケットを読み取り、Java プログラミング言語を使用してフィルタリングするために使用するパッケージを教えてください。

ありがとうございました。

4

2 に答える 2

1

開いたウェブサイトの広告をブロック/フィルタリングしたい。

ウェブサイトをブロックするためのより簡単な解決策は、これらのサイトのホスト ファイルにダミー アドレスを入れることです。追加すると

127.0.0.1 www.ads.com

お使いの PC はその Web サイトにアクセスできなくなります。/etc/hostsUnixでは、Windows ではホストを検索できます。C:\Windows\System32\drivers\etc\hosts

アドレス全体をブロックしたくない場合は、独自のプロキシ サーバーを実装して、ブラウザにこのプロキシ サーバーを使用させることができます。

ところで: 多くのブラウザーには、広告のブロックをサポートするプラグインがあります。まずはこちらを試してみてはいかがでしょうか。

于 2012-11-06T16:21:17.333 に答える
0

jpcap はパケットをフィルタリングできません。

パケットのフィルタリングは、プラットフォーム固有です。

  • Linux:netfilter_queueiptables
  • MacOS: 迂回ソケットを使用し、ipfw
  • Windows: ドライバーを作成するか、WinDivert (LGPL、私のプロジェクト) またはWinPkFilterなどの市販の代替手段を使用します。

これらは、パケット レベルのフィルタリング用です。単一の URL が複数のパケットに分割される可能性があるため、これは URL のフィルタリングには適していません。ただし、実際にはうまく機能します。

また、私は Java バインディングを認識していないため、JNI を使用して独自のものを作成する必要があります。

于 2012-11-07T05:49:10.033 に答える