Hay 2 versiones: BSD y GNU. La versión de GNU admite -l con -p (o al menos indica que puede usarlos juntos). La página del manual dice que usamos una versión BSD editada.
Esto es de la versión de GNU:
NAME
netcat - GNU Netcat Manual
CONTENTS
SYNOPSIS
netcat [options] hostname port [port] ...
netcat -l -p port [options] [hostname] [port] ...
netcat -L hostname:port -p port [options] ...
===
Esto es de la página de manual de BSD:
Name
nc - arbitrary TCP and UDP connections and listens
Synopsis
nc [-46DdhklnrStUuvzC]
[-i interval [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout]
[-X proxy_protocol] [-x proxy_address[:port]] [hostname[port[s]]
...
-l' Used to specify that nc should listen for an incoming
connection rather than initiate a connection to a remote host.
It is an error to use this option in conjunction with the -p, -s, or -z options.
Additionally, any timeouts specified with the -w
option are ignored.
Extraño de hecho. Pero parece que usamos GNU donde la página del manual apunta al manual original de BSD o usamos una versión BSD alterada y también con la página de manual incorrecta.
-p
opción y siguió escuchando? Por favor, editar su pregunta para aclarar.