リスニングモードでリモートでnetcatを起動しようとすると、予期しない動作がたくさん観察されました。
1. 次のコマンドを使用する場合:
ssh [email protected] 'nc -l -k 80 &'
クライアントからこのリスナーへの最初のTCP接続が失敗することを確認しました。接続を確立しようとすると、受信機はFINパケットをエクスポートして接続を閉じます。ただし、再接続しようとすると接続が確立されます。私はファイル記述子と-dオプションを使ってnetcatを起動するときにいくつかの問題を見つけました。
ssh [email protected] 'nc -d -l -k 80 &'
、この問題は解決されました。ただし、この問題の原因が正確に何であるかを理解できません。私の質問は、SSHを使用してリモートで実行するとnetcatが異なる動作をする理由です。
私が気づいたもう1つの問題は、音声モードが機能しないことです。
SSH[Eメール保護]'nc -l -v -k 80&'
-v を使用すると、netcat は起動しません。
答え1
コマンドを & で終わらないで、-f
ssh にフラグを指定してください。 Netcatが出力を書き、sshdが消えると、SIGPIPEのため終了します。あるいは、sshを介して出力を再送信したくない場合は、netcatの出力をファイルにリダイレクトしてからバックグラウンドに配置することもできます... > /tmp/nc.log &
。