0

誰かが私にパケットブロッキングソフトウェアを提案できますか??

私の要件は、LAN 内のパケットをブロックすることです (インターネットは関係ありません)。

CLIENT_A が同じネットワーク (LAN) で CLIENT_B と通信しているとします。

CLIENT_C(同じネットワークにいる人)がキャプチャして(この目的でjpcapライブラリのスニファーを使用できます)、CLIENT_AからCLIENT_Bに送信されたパケットをブロックします。

LAN 経由のパケットをブロックするにはどうすればよいですか?

前もって感謝します。

よろしく、 Veenit Shah

4

3 に答える 3

2

この種のことは通常、別のファイアウォール(ルーターやゲートウェイボックスなど)または一方または両方のクライアントマシンで実行されているファイアウォールソフトウェアを使用して行われます。

これは、Javaで実装するのが賢明な種類​​のものではありません。

編集-このフォローアップに応えて

私はそのようなことはJavaではお勧めできないことを知っていますが、それでもそれを実装する必要があります。そうするための手段はありますか?

Linuxマシンにクライアント側ファイアウォールを実装することについて話していると仮定します。私は2つのアプローチを考えることができます:

  • と友達を使って、OSカーネルのネットワークパケットフィルターを操作するProcess.execute()Linux管理ユーティリティを実行できます。iptables(8)これは、最も単純なJavaベースのアプローチです。ただし、Javaアプリはとして実行する必要がありますroot

  • iptables(8)パケットフィルターを操作し、Javaで同じ機能をコーディングするために何をしているのかをリバースエンジニアリングすることができます。これは、JNIまたはJNAを介してCで機能の一部を実装することを含め、より多くのコーディング作業になります。そして、アプリはとして実行する必要がありますroot

しかし、はるかに簡単なアプローチはiptables(8)、コマンドラインから実行するか、優れたGUIベースの管理ツールを使用して変更を加えることです。

上記のシナリオでは、ファイアウォール自体はJavaに実装されていないことに注意してください。あなたがしているのは、Javaアプリケーションからファイアウォールを管理することだけです。リモートでさえ実用的なJavaでフィルタリング/ブロッキングを実際に行う方法は考えられません。

于 2010-02-24T14:57:41.723 に答える
1

CLIENT-A から CLIENT-B ではなく Client-C にパケットをリダイレクトするには、いくつかの arp 攻撃が必要になる場合があります。

これは良い考えではないと思います。

于 2010-02-26T03:10:56.707 に答える
0

クライアント C のネットワーク上のパケットを読み取っている場合、クライアント B は既にそれを受信して​​いるため、ブロックするには遅すぎます。スイッチド イーサネットを使用している場合、いずれにしてもクライアント C は B に送信されたパケットを見ることさえできません。

これを行う唯一の方法は、A が C を介して B と通信し、C がパケットを送信するかどうかを決定できるようにすることです。これをファイアウォールと呼びます。作成する代わりに、Linux で iptables を使用してこれを行うことができます。

しかし、これを利用するには、ネットワークがどのように機能するかを理解する必要があります。あなたの質問に基づいて、この時点で理解できるかどうかはわかりません. そのため、イーサネット (イーサネットを使用していると仮定) とさまざまなネットワーク層について多くを学ぶ必要があります。このためのリソースがわかりません。

于 2010-02-24T20:14:20.187 に答える