Menggunakan netcat untuk penerusan porta

17

Saya punya proses yang mendengarkan pada IP:port- sebenarnya itu adalah streaming yang menghubungkan ke soket. Masalahnya adalah saya ingin entah bagaimana membuat server yang terhubung ke percikan pada satu port dan data dialirkan ke server ini dari port lain.

Sebagai contoh, contoh streaming percikan menggunakan utilitas netcat (misalnya nc -lk 5005). Namun, saya memiliki layanan lain yang mendengarkan pesan masuk dan kemudian memuntahkan pesan. Jadi saya memerlukan beberapa jenis server yang dapat mendengarkan pesan dari layanan A dan mengirimkannya ke percikan.

Layanan saya A, bergantung pada soket. Dan konsumen percikan saya bergantung pada soket.

Inilah yang saya lakukan sejauh ini adalah penerusan dari port ke port tetapi ini sepertinya tidak berhasil:

nc -X 4 -x 127.0.0.1:5005 localhost 5006

Dengan gagasan bahwa layanan A:5005-> socket -> 5006-> Spark

Sepertinya saya tidak dapat menemukan cara yang benar untuk membuat ini bekerja.

Beberapa jawaban menyarankan yang berikut:

socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006

Penerima busi saya sepertinya tidak atau tidak bisa terhubung. Saya mendapatkan kesalahan:Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused

mengganggu
sumber
apakah Anda yakin port 5006 terbuka ?! ; whatis ouput perintah ini sudo netstat -nltp
بارپابابا

Jawaban:

25

Anda tidak dapat menggunakan hanya ncuntuk lalu lintas maju, nc belum keep-aliveatau forkmode

Anda harus menggunakan alat lain sebagai gantinya nc; misalnya menggunakan socatatauncat


perintah ini dengarkan di port 5050dan teruskan semua ke port2020

socat tcp-l:5050,fork,reuseaddr tcp:127.0.0.1:2020

Ncat adalah utilitas jaringan penuh fitur yang membaca dan menulis data di seluruh jaringan dari baris perintah. Ncat ditulis untuk Proyek Nmap sebagai implementasi ulang yang jauh lebih baik dari Netcat yang terhormat. Itu

ncat -l localhost 8080 --sh-exec "ncat example.org 80"

Dan Anda dapat menggunakan alat lain:

Dengarkan pada port 1234 dan teruskan ke port 4567 pada alamat "1.1.1.1"

./proxy tcp -p ":1234" -T tcp -P "1.1.1.1:4567"

Dengarkan pada port 1234 dan teruskan ke port 4567 pada alamat "1.1.1.1" sumber

./gost -L tcp://:1234/1.1.1.1:4567
بارپابابا
sumber
1
Terima kasih, saya mencoba tes socat pertama, tetapi masalahnya adalah instance streaming saya mengharapkan sesuatu di sana sepanjang waktu dan mendengarkan pada 5006 - tanpa ini, saya mendapatkan kesalahan.
mengganggu
ncap juga memiliki opsi untuk proksi ... Yang memungkinkan untuk beberapa hal menarik ... ( gostterlihat keren meskipun ....)
Gert van den Berg