回答:
スニファは受動的に動作するため、検出するのは非常に困難です。一部のスニファは少量のトラフィックを生成しますが、それらを検出するためのいくつかの手法があります。
以下のような例のオープンソースツールのために、これらの技術をimplmentいくつかのツールがありますNepedとARPウォッチまたはAntiSniff商用ツールであるWindows用には、。
スニッフィングを防止したい場合、最善の方法は、ネットワークアクティビティ(SSH、httpsなど)に暗号化を使用することです。このように、スニファはトラフィックを読み取ることができますが、データはそれらには意味がありません。
パケットスニッフィングはパッシブアクティビティです。通常、誰かがネットワークをスニッフィングしているかどうかを判別することはできません。ただし、有線のスイッチドLAN上の誰かが、自分のIPへの、またはIPからの(またはネットワーク/サブネットへのブロードキャスト)だけを宛先としないトラフィックを見るには、すべてのトラフィックを複製する監視対象ポートまたはミラーリングされたポートにアクセスできる必要があります。またはゲートウェイに「タップ」をインストールします。
スニッフィングに対する最善の防御は、適切なエンドツーエンドの暗号化と、機密性の高いハードウェアの物理的な制御です。
編集:CPM、Neped、およびAntiSniffは10〜15年古くなっています... Linuxカーネル<2.2またはWindows NT4を考えてください。誰かがタップやミラーにアクセスできる場合、一般的にそれを検出することは非常に困難です。ARPまたはDNSの操作がおそらく最善の策ですが、確実なものとはほど遠いものです。
スイッチドLAN上のすべてのトラフィックを盗聴できる(私は信じている)唯一の方法は、「man in the middle」攻撃です。基本的に、ARPポイズニングを実行し、すべてのパケットを盗み、それらを読み取って、適切なコンピューターに送信します。
これを実行できるツールはおそらく複数あると思いますが、私が知っているのは1つだけです。
Ettercapは、Mitm攻撃を実行することも、他の誰かが実行しているときに1つを検出することもできます。
ほとんどのスニファを検出する簡単な方法があります。DNSになく、他の目的で使用されていない2つのボックスをネットワークに配置します。定期的にpingを送信するか、他の方法で互いに通信してもらいます。
次に、ネットワークのDNSルックアップやIPのARPリクエストを監視します。多くのスニッファはデフォルトで見つけたアドレスを検索するため、これらのデバイスでの検索は確実な警告になります。
巧妙なハッカーはこれらのルックアップをオフにすることができますが、多くの人はそうは思わないでしょう、そしてそれは間違いなく彼を遅くします。
さて、彼がDNSルックアップを有効にできないほど賢く、これらのデバイスのARPを阻止している場合、タスクははるかに困難になります。この時点で、ネットワークが常に傍受されているという哲学の下で作業し、この前提の下で発生する可能性のある脆弱性を防ぐための予防的な手順を制定する必要があります。いくつか含まれます:
ハブ(またはThinnet / Thicknetのような本当に古いネットワーク設定)は、すべてのデータを常にネットワーク経由で転送します。接続されている人は誰でも、ローカルセグメントのすべてのパケットを見ることができます。ネットワークカードをプロミスキャスモード(直接送信されたパケットだけでなく、すべてのパケットを読み取る)に設定し、パケットキャプチャプログラムを実行すると、発生するすべてを確認したり、パスワードを盗聴したりできます。
スイッチは古い学校のネットワークブリッジのように動作します。スイッチは、a)ブロードキャストb)そのデバイス宛ての場合にのみ、ポートからトラフィックを転送します。
スイッチは、どのMACアドレスがどのポートにあるかを示すキャッシュを維持します(ハブまたはスイッチがポートからデイジーチェーン接続される場合があります)。スイッチは、すべてのトラフィックをすべてのポートに複製するわけではありません。
ハイエンドのスイッチ(ビジネス用)には、すべてのトラフィックを複製するように構成できる特別なポート(スパンまたは管理)がある場合があります。IT部門はこれらのポートを使用してトラフィックを監視します(legit sniffing)。不正なスニッフィングの検出は簡単です。スイッチを見て、そのポートに何かが接続されていないか確認してください。