web-dev-qa-db-ja.com

すべての着信パケットをキャプチャする方法NICそれらのパケットが私に属していない場合でも

申し訳ありませんが、NICは、ローカルエリアネットワークのワイヤーからすべてのパケットを受信しますが、宛先アドレスがIPと等しくないパケットを拒否します。

ユーザーのインターネット利用状況を監視するアプリケーションを開発したい。各ユーザーは固定IPアドレスを持っています。

私と他の何人かは DES-108 8ポートファストイーサネットアンマネージドデスクトップスイッチ に接続しています

先に述べたように、私に属するパケットだけでなく、すべてのユーザーからのすべてのトラフィックをキャプチャしたいと思います。

NICまたはその他のコンポーネントにすべてのパケットを強制的に受信させるにはどうすればよいですか?

13
m.r226

申し訳ありませんが、NICは、ローカルエリアネットワークのワイヤーからすべてのパケットを受信しますが、宛先アドレスがIPと等しくないパケットを拒否します。

訂正:宛先[〜#〜] mac [〜#〜]アドレスがそのMACアドレス(またはマルチキャストまたはそのフィルター。

パケットキャプチャユーティリティは、ネットワークデバイスを無差別モードに簡単に移行できます。つまり、上記のチェックがバイパスされ、デバイスは受信したすべてを受け入れます。実際、これは通常デフォルトです:tcpdumpでは、しないために-pオプションを指定する必要がありますやれ。

さらに重要な問題は、関心のあるパケットがスニッフィングポートへの回線を通過しているかどうかです。管理されていないイーサネットスイッチを使用しているため、ほぼ確実に使用されていません。スイッチは、ネットワークデバイスがパケットを確認できるようになる前に、ポートから自分に属していないパケットをプルーニングすることを決定しています。

これを行うには、管理対象イーサネットスイッチ上の特別に構成されたミラーリングポートまたはモニタリングポートに接続する必要があります。

27
Celada

イーサネットハブ(スイッチではない)の初期の話では、送信されたパケットはサブネット上のすべてのホストで利用できますが、意図した受信者ではないホストは無視することになっています。

明らかに、サブネットが飽和するのに長い時間はかからなかったため、問題を解決するためにスイッチテクノロジーが生まれました。彼らがしたことの1つは、ネットワークスイッチがそのホスト宛てのパケットのみをそのポートにルーティングするようにすることでした(さらに、アンディブロードキャストトラフィック) )。

ホスト向けのパケットのみをスニッフィングできるため、ネットワークの監視/スニッフィングが複雑になります。これはセキュリティの観点からは良いことだと考えられていましたが、ネットワーク監視の観点からはあまり良くありません。ネットワークモニタリングを機能させるために、ベンダーはポートミラーリングと呼ばれる機能を実装しています。これはネットワークスイッチで設定する必要があり、以下のリンクはDリンク製品の正しい方向を示しているはずです。スイッチ管理ソフトウェアまたはWeb管理インターフェイスのどこかにあります。これらの機能が見つからない場合は、その特定のデバイスで機能が提供されていない可能性があります。

http://www.dlink.com/uk/en/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring

8
Thomas Carlisle

最初に、NICを無差別モードに切り替える必要があります。NICインターフェースがeth0であると仮定します。

root@linux#ifconfig eth0 promesc

スイッチネットワークを使用している場合、スニッフィングは、スイッチポートに接続するコリジョンドメインに削減されます。 macofを実行して、スイッチの転送テーブルをあふれさせることができます。

root@linux#macof -i eth0

次に、wiresharkまたはtcpdumpを使用してすべてのトラフィックをキャプチャできます。

root@linux#tcpdump -i eth0 -w outputfile

スイッチドネットワークに接続していない場合は、プロミスキャスモードを有効にしてtcpdumpを使用してください。

2
Ahmed chiboub

あなたは車輪を再発明しています。

クライアントがスイッチに接続し、デフォルトゲートウェイがインターネットに接続されている単純なネットワークがある場合、そのデフォルトゲートウェイデバイスでのみ監視する必要があります。これは、LANクライアントとインターネット間のすべてのトラフィックを表示するためのチョークポイントになります。

すべてのIPアドレスが同じIPサブネット内にある場合、ローカルトラフィックはデフォルトゲートウェイに影響を与えないため、LANクライアントからLANクライアントへのトラフィックは重要ではないと想定しています。

本当にすべてのトラフィックを表示したい場合は、各ユーザーが独自のIPネットワークに属しており、他のネットワークへのトラフィックがデフォルトゲートウェイを経由している必要があります。/28を各人に割り当てると、14人のIPを自分に割り当てることができます。

平均的な家庭用ルーターはこれの多くを処理しません。専用のファイアウォールディストリビューションを探索する必要があります。個人的にはpfsenseが主流ですが、多くのオプションがあります。

0
Criggie