GNU/Linux >> Linux の 問題 >  >> Linux

Linux で TCP トラフィック データを盗聴する最も簡単な方法は何ですか?

更新:

コメントで Michal が指摘したように、tcpflow バージョン 1.3 から -e オプションを使用してスキャナー名を指定します。そのため、「無効なスキャナー名 '8983'」というエラーが出力されます。正しいコマンドは

です

sudo tcpflow -i any -C -J port 1234

(また -J -g に変更されました 最新リリースで)

「tcpflow」を教えてくれた yves に感謝します。コマンドラインは次のとおりです:

tcpflow -i any -C -e port 1234  # as root, or with sudo

これは私が望むすべてを行います

  • 入ってくるデータをバイト単位で表示します
  • 他のメタデータは表示しません
  • すべてのインターフェースをリッスンする (マシン内外からのデータを取得するため)

-C " は、ファイルではなくコンソールにダンプするように指示します。"-e " は色を有効にして、クライアント -> サーバーとサーバー -> クライアントが視覚的に区別されるようにします。

単純に tcpflow をインストールしました

sudo apt-get install tcpflow

socat はあなたが求めているツールです。プロキシとして機能できます:

$socat -v TCP-LISTEN:4444 TCP:localhost:1234
hello

その場合、アプリケーションはポート 1234 に直接接続するのではなく、ポート 4444 に接続する必要があります

-v オプションは、socat が受け取ったすべてを標準エラー (stderr) に出力するためのものです。

更新:

お使いのマシンで socat が利用できない場合でも、netcat を使用してその方法でエミュレートできます:

$netcat -l -p 4444 | tee output_file | netcat localhost 1234

注意:このオプションは単方向です。 2 番目の netcat インスタンスは、サーバーからのすべての応答を標準出力に出力します。その後も、次のように実行できます:

$mkfifo my_fifo
$netcat -l -p 4444 < my_fifo | tee output_file | netcat localhost 1234 > my_fifo

Wireshark を試してみてください。これは、Linux と Windows の両方を対象とした優れたプロトコル アナライザーです。


Linux
  1. Linuxを持続可能なOSにする理由

  2. Linuxコミュニティが特別な理由は何ですか?

  3. LinuxとUnix:違いは何ですか?

  1. Linuxシステムの現在のランレベルはどれくらいですか?

  2. Linuxにjdkをインストールする正しい方法は何ですか

  3. Linuxマシンでpython 3でキーの押下を検出する最も簡単な方法は何ですか?

  1. RDP Linux から Windows へ:最も簡単な方法 2019!

  2. Linux で 2 つ以上のファイルを結合する最速の方法は何ですか?

  3. Linux の file コマンドがテキスト ファイルをバイナリ データとして報告する原因は何ですか?