tcpdumpを使用して単方向tcpキャプチャのLinux動作をテストしようとしています。サーバ上で単方向tcpデータを取得しようとしています
シナリオは、サーバAがスイッチMを介して宛先Yにパケットを送信しているということです。同時に、Mはすべてのパケットをキャプチャしたい宛先Zにも同じパケットを送信します。接続A〜Yはtcp接続です。
nc -l 0.0.0.8 4444
telnet -b 0.0.0.10 0.0.0.8 4444
tcpdump -i <interface name associated with 0.0.0.8> port 4444
上記のシナリオを合成するために、私は、次のコマンドを実行しているサーバーのZ上のオープン3つの端子を有します
0.0.0.8と0.0.0.10は、別々のスロット、この場合はスロット1とスロット6の別々のNICカードです。
telnetセッションからは、データの送信に成功しましたが、tcpdumpはパケットをキャプチャしていません。端末3からport 4444
を削除すると、ネットワーク内のデータが表示されますが、telnet
セッションのデータは表示されません。私はまた、私はエラーメッセージも受け取っていないことに注意する必要があります。
私はインターネットでそれを読むと、telnetがtcp接続を作成すると仮定しています。そのため、tcpdumpは動作するはずです。私はここで間違っていますか?私は別のことをしなければならないでしょうか?このサーバーでWireSharkなどを使用することはできません。
また、端末3では、tcpdump host 0.0.0.8 port 4444
も利用できませんでした。ご意見ありがとうございました。
OSは、送信元と送信先が同じマシン上にあるため、NICをバイパスしている可能性があります。したがって、tcpdumpはそれをキャプチャできません。 Unix.SEやSuperUser.comは、プログラミングに関するものではないので、この質問のより良い場所になります。 – Barmar