web-dev-qa-db-ja.com

コマンドラインplinkリモートターゲットキャプチャトラフィック(jumphost経由)

Windowsマシンからjumphostを介してリモートホストトラフィックをキャプチャし、Wiresharkで表示しようとしています。

PuTTY GUIを使用し、以下のように構成した場合

  1. ジャンプホストのSSHセッションを作成して保存しました(bastion-Host
    • 接続->データ->自動ログインユーザー名が構成されています
    • 接続-> SSH->認証->認証用のjumphost秘密鍵ファイルが構成されています
  2. 別のSSHセッション(target-Host)を作成して保存しました。ここで、トラフィックのキャプチャが行われます
    • 接続->データ->自動ログインユーザー名が構成されています
    • 接続->プロキシ->プロキシおよびポート22として設定されたプロキシホスト名
    • 接続->プロキシ-> Telnetコマンドまたはローカルプロキシコマンドをplink "bastion-Host" -agent -nc %Host:%port
    • 接続-> SSH->リモートコマンドas"Sudo tcpdump -i ens5 -w - not port 22"
    • 接続-> SSH->認証->ターゲット-認証用のホスト秘密鍵ファイルが構成されています
  3. 保存されたセッションをロードして開きます(target-Host

結果は

  1. WindowsのPuTTY端末でトラフィックがキャプチャされて表示されているのを確認できます。
  2. そして、「tcpdump」は実際にはtarget-Hostで実行されます。

この段階では、これをWiresharkにリダイレクトする方法がわかりません。

次に、これが私が達成しようとしていることです。コマンドラインから上記のセットアップを実行します。以下は完全なコマンドです

plink.exe -proxycmd "PuTTY.exe -ssh <username>@<jumphost-address> -i <private-key-file> -agent -nc <target-Host>:22" -ssh <target-username>@<target-Host> -i <target-private-key> "Sudo tcpdump -ni ens5 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

Wiresharkがポップアップしますが、「tcpdump」コマンドが実行されているのが見えないため、トラフィックはキャプチャされません。

Plinkが機能することを確認するために、直接アクセス可能なホストで同様のコマンドをテストしましたが、すべてが機能します。 Wiresharkはライブトラフィックキャプチャでポップアップします。

plink.exe -ssh -pw <password> <username>@<my-Host> "/usr/sbin/tcpdump -ni ens192 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

だから、私はplinkコマンドを使用している方法に何か問題があると思います。誰かが私がそれを修正するのを手伝ってくれるかどうか感謝します。

ありがとう

OS:Windows 7 Enterprise、64ビット

PuTTY:リリース0.70

2
rawat

この投稿に投稿された回答 正しいコマンドのヒント 私のために働いた。

私の最後のコマンドは

plink -proxycmd "plink <username>@<jumphost-address> -i <private-key-file> -nc <target-Host>:22" <target-username>@<target-Host> -i <target-private-key> "Sudo tcpdump -ni ens5 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -
0
rawat