wersje netcat

8

Próbowałem dwóch głównych wersji netcat: GNU i BSD. (moja to wersja BSD).

W wersji GNU polecenie $ nc -l -p 12345 działa dobrze, ale w BSD opcja -l (nasłuchuj) nie może być używana w połączeniu z -p (port lokalny).

Nie rozumiem, dlaczego istnieje taka różnica między tymi dwiema wersjami? W wersji BSD, gdy używam opcji -p, wywołuje ona automatycznie -l (nasłuchiwać)?

dzięki ;-)

Ps: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p różni się między nimi. Wersja OpenBSD używa go do ustawienia portu źródłowego dla połączeń zdalnych, podczas gdy tradycyjny nc używa go do określenia lokalnego portu, na którym będzie nasłuchiwał w trybie nasłuchiwania.


źródło
3
W wersji BSD -lzabiera port do nasłuchiwania, więc -pnie jest wcale potrzebny. Nie jestem pewien, co -pbez tego -l. Nie wiem, dlaczego jest różnica.
1
Spróbuj ncat (w dystrybucji nmap).
William Pursell
1
Wypróbuj socat, zupełnie inną składnię, ale o wiele więcej możliwości niż stary dobry netcat.
Marcin,
@icktoofay jeśli przeniesiesz się, skomentujesz odpowiedzi, a ja głosuję, a następnie głosujesz, aby zamknąć ... po prostu oznacz mnie postem, aby go zobaczyć
RobotHumans
Pakiety Ubuntu są netcat-traditionaldla GNU netcat-openbsdi netcatdla BSD.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Odpowiedzi:

4

W wersji BSD -l zajmuje port do nasłuchiwania, więc -p w ogóle nie jest potrzebny. Nie jestem pewien, co robi -p bez -l. Nie wiem, dlaczego jest różnica. - icktoofay <- kredyt za rozwiązanie trafia do tego faceta ... ale nie sądzę, że ma konto na SU, tylko SO.

RobotHumans
źródło