Використання netcat для переадресації портів


20

У мене є процес, який слухає на IP:port- насправді це іскровий потік, який підключається до сокета. Проблема полягає в тому, що я хочу якось створити сервер, який підключається до іскри на одному порту, а дані передаються на цей сервер з іншого порту.

Наприклад, у прикладі іскрового потокового використання використовується утиліта netcat (наприклад nc -lk 5005). Однак у мене є ще одна служба, яка слухає вхідні повідомлення, а потім виплюває повідомлення. Тому мені потрібен якийсь сервер, який може прослуховувати повідомлення сервісу A і передавати їх для іскри.

Моя служба A, покладається на розетки. А мій споживач іскри покладається на розетки.

Ось що я вже робив - це пересилання від порту до порту, але, схоже, це не працює:

nc -X 4 -x 127.0.0.1:5005 localhost 5006

З ідеєю, що послуга A:5005-> socket -> 5006-> Spark

Я не можу знайти правильний спосіб зробити цю роботу.

Деякі відповіді пропонують наступне:

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

Мій приймач іскрової розетки не може або не може підключитися. Я отримую помилку:Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused


Ви впевнені, що порт 5006 відкритий ?! ; Whats
Ouput

Відповіді:


28

ви не можете використовувати лише ncдля прямого руху, nc немає keep-aliveабо forkрежим

ви повинні використовувати інший інструмент замість цього nc; наприклад використовувати socatабоncat


ця команда прослуховує порт 5050і пересилає всіх в порт2020

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

Ncat - це функціональна мережева утиліта, яка зчитує та записує дані по мережах з командного рядка. Ncat був написаний для проекту Nmap як значно покращене реалізація поважного Netcat. Це

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

І ви можете використовувати інші інструменти:

Прослухайте порт 1234 і перешліть його до порту 4567 за адресою "1.1.1.1"

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

Прослухайте порт 1234 і перешліть його на порт 4567 за адресою "1.1.1.1" джерело

./gost -L tcp://:1234/1.1.1.1:4567

1
Дякую, я спробував перший тест socat, але проблема полягає в тому, що мій екземпляр потокової передачі весь час очікує чогось там і слухає в 5006 - без цього я отримую помилку.
руйнівний

У ncap також є варіанти проксі-сервісів ... Що дозволяє зробити кілька цікавих речей ... ( gostвиглядає дивовижно, хоча ....)
Герт ван ден Берг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.