tcpdumpを使用してすべてのネットワークトラフィックをキャプチャできますか?

tcpdumpを使用してすべてのネットワークトラフィックをキャプチャできますか?

同じサブネットに3台のコンピュータがあります。コンピュータAとBは互いに通信しています(ping、telnetなど)。コンピュータCでAとBの間のパケットを見たいです。 tcpdumpを使用してこれを実行できますか?ドキュメントを読んでGoogleを試しましたが、うまく動作しません。 C で実行される tcpdump は、A と B 間のトラフィックを見ることができません。 AまたはBがCをpingすると、tcpdumpはネットワークトラフィックを表示するため、tcpdumpが機能していることがわかります。また、手動でインターフェイスを無差別モード(ifconfig ethx promisc)に設定しましたが、まだ出力はありません。

Comp-A、IP:192.168.0.100
ping Comp-B ==> Comp-A Comp-Bから応答を受信する

Comp-B、IP:192.168.0.101
tcpdump -Xi eth1 ==> Comp-Aでpingパケットを表示する

Comp-C、IP:192.168.0.102
tcpdump -Xi eth1 ==>出力なし、一般的なtcpdump初期メッセージのみ

ベストアンサー1

表示されない理由は、交換ネットワークを使用しているためです。ネットワークスイッチはパケットを宛先インターフェイスにのみ転送します。これは、パケットにリストされたリンク層アドレスによって決まります。スイッチは、コンピュータA、B、Cがそれぞれポート1、2、3にあることを知っています。コンピュータAからコンピュータBに向かうポート1でパケットが受信されると、そのパケットはポート2にのみ送信されます。

管理されたスイッチがある場合は、ポート3に「ポートミラーリング」またはSPANポートを設定でき、そのポートはスイッチを通過するすべてのパケットのコピーを受信します。

管理されているスイッチがない場合は、ネットワークの残りの部分をなりすましする従来の方法(arpスプーフィングやパケット転送など)は少なくなります。

おすすめ記事