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.
-l
zabiera port do nasłuchiwania, więc-p
nie jest wcale potrzebny. Nie jestem pewien, co-p
bez tego-l
. Nie wiem, dlaczego jest różnica.netcat-traditional
dla GNUnetcat-openbsd
inetcat
dla BSD.Odpowiedzi:
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.
źródło