Używanie netcata do przekierowania portów


20

Mam proces, który nasłuchuje IP:port- w rzeczywistości jest to streaming strumieniowy, który łączy się z gniazdem. Problem polega na tym, że chcę w jakiś sposób stworzyć serwer, który łączy się z iskrą na jednym porcie, a dane są przesyłane strumieniowo do tego serwera z innego portu.

Na przykład, przykład przesyłania strumieniowego Spark wykorzystuje narzędzie netcat (na przykład nc -lk 5005). Mam jednak inną usługę, która nasłuchuje wiadomości przychodzących, a następnie wypluwa wiadomość. Potrzebuję więc jakiegoś serwera, który może słuchać wiadomości z usługi A i przekazywać je do iskry.

Moja usługa A polega na gniazdach. A mój iskrowy konsument polega na gniazdach.

Oto, co do tej pory zrobiłem, to przekierowanie z portu na port, ale wydaje się, że to nie działa:

nc -X 4 -x 127.0.0.1:5005 localhost 5006

Z pomysłem, że usługa A:5005-> gniazdo -> 5006-> Spark

Nie mogę znaleźć właściwego sposobu, aby to zadziałało.

Niektóre odpowiedzi sugerują, co następuje:

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

Mój odbiornik gniazda zapłonowego nie łączy się lub nie może się połączyć. Dostaję błąd:Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused


jesteś pewien, że port 5006 jest otwarty ?! ; whatis ouput to polecenie sudo netstat -nltp
بارپابابا

Odpowiedzi:


28

nie można używać tylko ncdo ruchu do przodu, nc nie ma keep-alivelub forktrybu

zamiast tego musisz użyć innych narzędzi nc; na przykład użyj socatlubncat


to polecenie nasłuchuje na porcie 5050i przekierowuje wszystko na port2020

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

Ncat to bogate w funkcje narzędzie sieciowe, które odczytuje i zapisuje dane w sieci z wiersza poleceń. Ncat został napisany dla Projektu Nmap jako znacznie ulepszona reimplementacja czcigodnego Netcata. To

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

I możesz użyć innych narzędzi:

Nasłuchuj na porcie 1234 i przekaż go do portu 4567 pod adresem „1.1.1.1”

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

Nasłuchuj na porcie 1234 i przekaż go do portu 4567 pod źródłem „1.1.1.1”

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

1
Dzięki, próbowałem pierwszego testu socat, ale problem polega na tym, że moja instancja przesyłania strumieniowego oczekuje czegoś tam przez cały czas i nasłuchuje na 5006 - bez tego pojawia się błąd.
destrukcyjny

ncap ma również opcje dla serwerów proxy ... Co pozwala na kilka interesujących rzeczy ... ( gostwygląda niesamowicie ...)
Gert van den Berg
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.