Ada proses daemon yang mendengarkan pada port 5144, yang tidak bisa saya modifikasi.
Saya ingin menggunakan netcat untuk mengirim konten file teks ke server, tetapi ini menyebabkan netcat
menggantung terminal sampai saya menekan Ctrl+ C:
cat file.txt | nc -u 127.0.0.1 5144
Satu-satunya cara saya bisa membuatnya bekerja adalah dengan menjalankan nc -u 127.0.0.1 5144
dan menyalin / menempelkan isi file secara manual.
Ada ide?
Juga mencatat:
cat file.txt | ...
mengarah kebash: ...: command not found
dan saya dapat terus menggunakan terminal- menggunakan
nc -u 127.0.0.1 5144 < file.txt
mengarah ke perilaku yang sama seperti menggunakan | atas
linux
data-transfer
netcat
Amil
sumber
sumber
cat file.txt | …
? Bagaimana dengannc -u 127.0.0.1 5144 < file.txt
?bash: ...: command not found
dan menggunakan "<file.txt" melakukan hal yang sama dengan | operator (netcat just hang)bash: ...: command not found
"? Atau apakah dikatakan "bash: cat: command not found
" atau "bash: nc: command not found
"? Dan kemudian apakah itu kemudian keluar ke prompt shell, atau apakah itu menggantung? (Saya mendorong Anda untuk mengedit pertanyaan untuk menambahkan rincian ini, sehingga orang-orang di Australia yang baru saja bangun tidak harus membaca semua komentar ini untuk mengetahui apa gejalanya.)Jawaban:
Jika Anda menggunakan netcat versi GNU maka Anda dapat menggunakan flag -c untuk menutup koneksi di EOF.
Jika Anda menggunakan versi asli alat ini maka Anda dapat menggunakan flag -q.
Contoh untuk versi aslinya adalah:
Saya telah menambahkan "-q 0" ke perintah asli Anda. Ini menutup koneksi setelah file dikirim.
sumber
-l -p <port>
untuk didengarkan. Versi GNU hanya membutuhkan waktu-l <port>
.Dengan asumsi bahwa setelah mengirim koneksi EOF akan diam, Anda dapat menggunakan
-w timeout
opsi, yang berfungsitimeout
sama dengan nol (tidak seperti-q
opsi bodoh ...)sumber
Jika Anda mentransfer dari FreeBSD ke Windows:
FreeBSD:
cat file.txt | nc -N 10.0.0.5 5144
-N
akan mematikan soket jaringan setelah EOFWindows:
nc -l -p 5144 > output.txt
-l
akan berhenti mendengarkan saat koneksi ditutup (tidak seperti-L
)sumber