Nah, seperti yang didokumentasikan dalam Wikipedia dan netcatdokumentasi, ada -eopsi yang menyebabkannya menelurkan ( e xecute) program setelah menerima koneksi, melampirkan soket ke stdin, stdout, dan stderr dari proses. Contoh penggunaan:
nc -l -pport_number -eprogram_name
Contoh umum menunjukkan /bin/shatau bashdigunakan 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 asli netcatmerasa 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 dan netcatdokumentasi 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 -eopsi (yaitu, dalam versi netcatyang memiliki -eopsi dinonaktifkan):
Di server:
mkfifopipe_name
nc -l -pport_number <pipe_name | program_name >pipe_name
Pada klien:
nc server_machine_name port_number
Beberapa catatan:
- Pada beberapa versi
netcat, -ltersirat -p, jadi Anda harus mengatakan adil -ldan kemudian nomor port.
- Anda mungkin ingin membungkus solusi Anda dalam satu
while truelingkaran.