1

パケットスニファーの原理について疑問に思っています。他のアプリケーションのパケットをどのようにキャッチしますか?

私はこれについて長い間考えてきました。そして、私は一つの理論を得ました。それはプロキシサーバーの仕組みに関係していますか? 特別な API が使用されると、すべてのローカル アプリケーションは、元の IP ではなく、指定された IP にパケットを送信します。そして、パケット スニファが受信してコピーし、最終的に元の宛先に送り返します。そうですか?

パケット スニファーのしくみを説明できますか? よろしくお願いいたします。

4

1 に答える 1

8

ネットワーク インターフェイス (つまり、ハードウェア ネットワーク アダプタ カード) は、アドレス指定されているかどうかに関係なく、ワイヤ上のすべてのトラフィックを受信します。

フレームを受信した後、ドライバはフレーム ヘッダー内の受信者のMAC アドレスをチェックし、それをインターフェイスの MAC と比較します。アドレスが一致する場合、フレームは消費のために OS に転送されます。そうでない場合は破棄されます。

インターフェイスには、すべてのフレームが OS に転送されるプロミスキャス モードにするオプションもあります。これがパケット スニファの動作です。カードを無差別モードにするコマンドをドライバに送信し、宛先が誰であっても、ネットワークから物理的に到着するすべてのトラフィックを読み取ることができます。

もちろん、プロミスキャス モードは、ネットワーク上のすべてのトラフィックを受信することを保証するものではありません。ネットワーク トポロジは、他のアドレス宛てのトラフィックが最初からシステムに到達するのを簡単に防ぐことができます (たとえば、これは通常、スイッチが行うことです)。

于 2013-01-13T11:07:40.073 に答える