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.
netcat-traditional
dla GNU netcat-openbsd
i netcat
dla BSD.
-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.