Saya ingin mengambil program P
yang membaca dari stdin
& menulis ke stdout
, tetapi sambungkan ke nc
atau apa pun yang dibaca dari port tertentu dan output ke port lain.
# The reading is easy, here P reads from port 50505
nc -l 50505 | P
Bagaimana saya membuatnya menulis kembali untuk mengatakan port 60606?
P
dan berharap untuk membaca output dariP
koneksi TCP kedua? Mengapa tag UDP?UDP
, saya pikir saya inginports
, tetapi itu bukan kata kunci yang ada, jadi saya pikirTCP
, dan saya pikir saya menambahkanUDP
refleks.Jawaban:
Maksud saya seseorang dapat membuka 2 koneksi TCP ke mesin Anda, satu ke port 50505 dan yang lain ke port 60606, mengirim data pada yang pertama dimaksudkan untuk diumpankan ke P dan berharap untuk membaca output P dari koneksi TCP kedua, maka itu akan menjadi:
Atau dengan
socat
:Untuk
P
mengirim outputnya kembali ke koneksi yang sama:sumber
Anda tidak perlu
nc
bekerja dengan port.bash
dapat melakukannya sendiri:sumber
/dev/tcp
sering dinonaktifkan dan tidak dapat digunakan untuk mendengarkan . Anda perluzsh
jika Anda ingin shell yang dapat membuat soket tcp mendengarkan.ztcp -l
untuk mendengarkan danztcp -a
menerima koneksi pada soket mendengarkan).