Respuestas:
En Linux moderno, use la utilidad ss (estadísticas de socket).
$ ss -s
Total: 10160 (kernel 10262)
TCP: 10349 (estab 8886, closed 408, orphaned 0, synrecv 0, timewait 393/0), ports 3147
Transport Total IP IPv6
* 10262 - -
RAW 0 0 0
UDP 5 5 0
TCP 9941 9941 0
INET 9946 9946 0
FRAG 0 0 0
netstat -an | grep ESTABLISHED | wc -l
te dará el número de puertos abiertos, 32 en mi caso.
cat /proc/sys/net/ipv4/ip_local_port_range
Devolverá algo como:
32768 61000
lo que significa, 61000 - 32768 - $ OPENPORTS = Puertos disponibles
En mi caja, eso es:
61000-32768-32 = 28200 números de puerto disponibles.
Como otros han mencionado, netstat es la herramienta que se usa para determinar qué puertos están actualmente en uso. En cuanto a los límites, el número de puertos disponibles es un entero sin signo de 16 bits que le da el rango 0-65535. Los puertos disponibles para que las aplicaciones se unan son los puertos privilegiados / raíz reservados (0-1024) más lo que no esté cubierto por su rango de puertos efímeros.
Puede ver sus puertos efímeros ejecutando cat /proc/sys/net/ipv4/ip_local_port_range
.
Para modificar eso de forma persistente, deberá agregar / modificar "net.ipv4.ip_local_port_range" en el archivo /etc/sysctl.conf, o interactivamente con sysctl -n net.ipv4.ip_local_port_range="<start_port> <end_port>"
Personalmente prefiero nmap. Puede encontrar el estado de todos los puertos emitiendo nmap -P 1-65535 target. La mayoría de las distribuciones deben tener este paquete disponible a través de su administrador de paquetes.
netstat le permitirá ver qué puertos están abiertos, haga "netstat -" para ver qué se adapta mejor a sus necesidades.
netstat --inet
ayudará más.
'nmap localhost' le dará todos los puertos y servicios abiertos que se ejecutan en ellos.
netstat -tulnp
Los argumentos para el programa netstat se enumeran a continuación:
*
t - Show TCP
*
u - Show UDP
*
l - Show only listening processes (netstat can show both listening and all established connections, i.e. as a client too)
*
n - Do not resolve network IP address names or port numbers
*
p - Show the process name that is listening on the port