web-dev-qa-db-ja.com

スイッチ上でネットワークスニッフィングソフトウェアはどのように機能しますか?

ネットワークには、標準の非管理3comスイッチがいくつかあります。スイッチは接続のピア間でのみパッケージを送信することになっていると思いました。

ただし、いずれかのスイッチに接続されたコンピューターで実行されているネットワークスニッフィングソフトウェアは、ネットワーク上の他のスイッチに接続された他のホストコンピューターのトラフィック(YouTubeビデオストリーミング、Webページなど)を検出できるようです。

これは可能ですか、それともネットワークが完全に壊れていますか?

18

スイッチは、Davidの回答を完了するために、ポートで受信されたパケットのMACアドレスを調べることにより、ポートの背後にいる人を学習します。スイッチの電源が入っているときは、何もわかりません。デバイスAがポート1からデバイスBにパケットを送信すると、スイッチはデバイスAがポート1の背後にあることを学習し、パケットをすべてのポートに送信します。デバイスBがポート2からAに応答すると、スイッチはポート1でのみパケットを送信します。

このMACとポートの関係は、スイッチのテーブルに保存されます。もちろん、多くのデバイスは単一のポートの背後にある可能性があります(例として、スイッチがポートに接続されている場合)。そのため、単一のポートに関連付けられた多くのMACアドレスが存在する可能性があります。

このアルゴリズムは、テーブルがすべての関係を格納するのに十分な大きさでない場合(スイッチに十分なメモリがない場合)に機能しなくなります。この場合、スイッチは情報を失い、すべてのポートにパケットを送信し始めます。これは、単一のポートからさまざまなMACを使用して多数のパケットを偽造することにより、簡単に行うことができます(ネットワークをハッキングする方法を理解しました)。また、スパイするデバイスのMACを使用してパケットを偽造することによっても実行でき、スイッチはそのデバイスへのトラフィックの送信を開始します。

管理対象スイッチは、ポート(または固定数)から単一のMACを受け入れるように構成できます。そのポートでさらにMACが検出された場合、スイッチはポートをシャットダウンしてネットワークを保護するか、ログメッセージを管理者に送信できます。

編集:

YouTubeトラフィックについては、上記のアルゴリズムはユニキャストトラフィックでのみ機能します。イーサネットブロードキャスト(例としてARP)とIPマルチキャスト(ストリーミングに使用されることもあります)の扱いは異なります。 YouTubeがマルチキャストを使用しているかどうかはわかりませんが、自分のものではないトラフィックを盗聴できる場合があります。

TCPハンドシェイクによってMACがポートテーブルに正しく設定されているはずなので、これは奇妙です。ネットワークトポロジは、常にフルである小さなテーブルを備えた非常に安価なスイッチを多数カスケードします。 、または誰かがネットワークをいじっています。

22
jfg956

これはよくある誤解です。静的に構成されていない限り、スイッチはmustすべてのパケットをeveryポート経由で送信し、そのパケットを送信する必要がないことを証明できません。

これは、パケットが宛先デバイスを含むポートにのみ送信されることを意味する場合があります。しかし、常にそうであるとは限りません。たとえば、スイッチが受信する最初のパケットを考えてみます。送信するポートをどのようにして知ることができますか?

パケットが「間違った」ポートに送信されないようにすることは、スイッチが可能なときに使用する最適化です。これはセキュリティ機能ではありません。管理対象スイッチは、実際のポートセキュリティを提供することがよくあります。

6
David Schwartz

ARPキャッシュポイズニングが有効になっている可能性があります。これは、スイッチドネットワークを盗聴するために、しばしば悪意を持って使用される手法です。これは、ネットワーク上のすべてのマシンに、(ARPプロトコルを使用して)他のすべてのマシンがMACアドレスを持っていることを確信させることによって行われます。これにより、スイッチはすべてのパケットをマシンに転送します-分析後にそれらを転送する必要があります。これは一般的に中間者攻撃で使用され、Cain&Abelやettercapなどのさまざまなスニッフィングツールで使用できます。

0
lutzky