web-dev-qa-db-ja.com

netcatを使用してファイルを送信し、接続を維持するにはどうすればよいですか?

私はコマンドを発行しています:

netcat serveraddress myport < MY_FILE

重要なのは、ファイルが送信されると、netcatが接続を閉じるためのメッセージを送信するということです。そのファイルを送信した後、コンソールからメッセージを書き込む必要があります。 stdinにpipilelineするために何かをしたことを覚えています。これでしたか?

netcat serveraddress myport < MY_FILE | 

それは現在機能していません。

私はUNIXを使用しています。

追加情報:これはサーバー側での制御を想定していませんでした(たとえば、サーバー側でnetcatを使用してインバウンド接続をリッスンします)

7
quinestor

おそらくあなたはやっていた:

cat MY_FILE - | ncat ...

ncatは優れたプログラムであると信じているため、意図的にnetcatのスペルを間違えていることに注意してください。)

13
William Pursell

サーバ側:

nc -k -l 10000 < my_in_file

クライアント側:

echo "bye" | netcat 192.168.1.6 10000 > my_in_file -
8
TOC

他の接続をリッスンし続けるには、nc-kを使用します。

サーバーに接続し、サーバーをファイルに書き込み、stdoutに出力するとしますか?

サーバ:

nc -k -l $PORT | tee file ( or > file without print to stdout)

クライアント

nc $IP $PORT < file_to_send
6

Ncの-q-1オプションを使用できます。

echo MY_FILE | nc -q -1 192.168.0.1 9000

このように、コマンドがバックグラウンドで実行された場合にも機能します。

4
user4347502

このスレッドは非常に古いと思いますが、OPはunixを使用しています。参照用に、「cat FILE ncatHost」と同等のウィンドウを示します。

type FILE con | ncat Host

次に、CTRL-ZまたはCTRL-Cを入力して接続を終了します。

メモ

1
timyha