ポート5144でリッスンしているデーモンプロセスがあり、これを変更することはできません。
Netcatを使用してテキストファイルの内容をサーバーに送信したいのですが、これを押すとnetcat
がターミナルをハングアップします。 Ctrl+C:
cat file.txt | nc -u 127.0.0.1 5144
これを機能させる唯一の方法は、nc -u 127.0.0.1 5144
を実行して、ファイルの内容を手動でコピー/貼り付けることです。
何か案は?
また注意してください:
cat file.txt | ...
はbash: ...: command not found
につながり、引き続きターミナルを使用できますnc -u 127.0.0.1 5144 < file.txt
を使用すると、|を使用した場合と同じ動作になります。上GNUバージョンのnetcatを使用している場合は、-cフラグを使用してEOF上の接続を閉じることができます。
-c、--close close connection on EOF from stdin
ツールの元のバージョンを使用している場合は、-qフラグを使用できます。
-q秒は、EOF on stdinおよびdelays秒後に終了します
元のバージョンの例は次のとおりです。
cat file.txt | nc -u -q 0 127.0.0.1 5144
元のコマンドに "-q 0"を追加しました。これにより、ファイルが送信された後に接続が閉じます。
送信後、EOF接続がアイドル状態のままになると想定すると、timeout
がゼロに等しい場合に機能する-w timeout
オプションを使用できます(愚かな-q
とは異なります)オプション...)
cat file.text | nc -u localhost 4300 -w0
FreeBSDからWindowsに転送する場合:
FreeBSD:cat file.txt | nc -N 10.0.0.5 5144
-N
はEOF後にネットワークソケットをシャットダウンします
Windows:nc -l -p 5144 > output.txt
-l
は、接続が閉じたときにリッスンを停止します(-L
とは異なります)