Apakah mungkin untuk 'mem-pipe' instance aplikasi konsol melalui netcat, sehingga netcat mendengarkan koneksi baru dan mengarahkan ulang stdin
dan stdout
melalui koneksi jaringan.
linux
networking
console
netcat
jammmie999
sumber
sumber
<
atau>
) secara signifikan berbeda dari pemipaan (|
), meskipun Anda terkadang dapat mencapai operasi yang setara dengan campuran keduanya. Sekali lagi, dengan pengalihan I / O, Anda dapat mengubah lokasi kedua aliran; perpipaan hanya mengalihkan output standar dari satu proses ke input standar yang lain.Jawaban:
Nah, seperti yang didokumentasikan dalam Wikipedia dan
netcat
dokumentasi, ada-e
opsi yang menyebabkannya menelurkan ( e xecute) program setelah menerima koneksi, melampirkan soket ke stdin, stdout, dan stderr dari proses. Contoh penggunaan:Contoh umum menunjukkan
/bin/sh
ataubash
digunakan sebagai program_name . Penggunaan opsi ini tidak disarankan karena pada dasarnya membuka portal akses anonim dan tanpa kata sandi ke mesin Anda. Tentu saja, ini dikurangi dengan menggunakan program dengan daya yang lebih kecil dari shell (yang tidak memiliki kemampuan untuk melarikan diri ke shell), meminimalkan penggunaan Anda, dan merahasiakannya. Meskipun demikian, pengembang aslinetcat
merasa cukup kuat bahwa opsi ini adalah ide yang buruk bahwa mereka menonaktifkannya secara default, dan mengkondisasinya di bawah opsi kompilasi "GAPING_SECURITY_HOLE". Ini disebutkan secara singkat dalam Tutorial NetCat ini dannetcat
dokumentasi lainnya .Pencarian Google membawa saya ke diskusi tentang masalah ini di situs Stack Exchange lainnya: Stack Overflow dan Server Fault . Banyak kontributor menawarkan teknik berikut untuk melakukan hal yang sama tanpa menggunakan
-e
opsi (yaitu, dalam versinetcat
yang memiliki-e
opsi dinonaktifkan):Beberapa catatan:
netcat
,-l
tersirat-p
, jadi Anda harus mengatakan adil-l
dan kemudian nomor port.while true
lingkaran.sumber