ncコマンドの-kオプション

ncコマンドの-kオプション

ncコマンドのマニュアルページには、次の情報が含まれています。

-k は、nc が現在の接続が完了した後に他の接続を受信し続けるように強制します。 -lオプションなしでこのオプションを使用すると、エラーが発生します。

ただし、nc --help出力には -k オプションに関する情報は含まれません。

このようなパケットをキャプチャしようとすると

nc -kl -i 86400 -p 44444 > nc_44444.dmp

次のエラーが発生します。

netcat:無効なオプション - 'k'

それでは、問題は何ですか? 「-k」というオプションはありますか?

私の問題は、ネットワークからいくつかのデータをキャプチャする必要があり、時にはクライアントアプリケーションがサーバーポートから切断されて再接続される可能性があることです。したがって、切断/再接続イベントに問題が発生したくありません。

答え1

netcatあなたが考えるコマンドを使用していないようです。つまり、検査結果ですwhich nc。私にとっては(CentOS 6.6)動作します/usr/bin/nc-kただし、正しい構文は次のとおりです。

nc -l -k -i 86400 localhost 44444 > nc_44444.dmp

正しく機能しない場合は、パッケージncatの一部を試してくださいnmap。 (たくさんありますインターネット猫実装...)

答え2

私は同じエラーが発生しましたGNU netcat 0.7.1。このフラグはBSDバージョンでサポートされていますnc

答え3

おそらく、あなたのバージョンncにはこのオプションはありません-k。ループを使用せずにアップグレードしたり、回避策として使用したりできます-k

関連情報