Introducción: he creado una función bash que puede verificar si un puerto está disponible y lo incrementa en 1 si es falso hasta cierto número de puerto máximo. Por ejemplo, si el puerto 500 no está disponible, se comprobará la disponibilidad de 501 hasta 550.
Objetivo: para probar esta función bash, necesito crear un rango de puertos que estén en estado LISTEN.
Intentos: en Windows es posible crear un puerto ESCUCHAR usando estos comandos de PowerShell :
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u> $listener = [System.Net.Sockets.TcpListener]1234
PS C:\Users\u> $listener.Start();
PS C:\Users\u> netstat -nat | grep 1234
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING InHost
PS C:\Users\u> $listener.Stop();
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u>
En base a esto, estaba tratando de pensar en un comando que pudiera hacer lo mismo en CentOS, pero no sé por qué y comencé a buscar en Google sin encontrar una solución que resuelva este problema.
Respuesta esperada : aceptaré y votaré la respuesta que contiene un comando que puede crear un puerto LISTEN y una vez que el comando se haya ejecutado, el puerto debe permanecer en estado LISTEN, es decir:
[user@host ~]$ ss -nat | grep 500
LISTEN 0 128 *:500 *:*
netstat -an --tcp | awk '/LISTEN/ {sub(".*:", "", $4); print $4}' | sort -nu
. En * BSD:netstat -an -f inet -p tcp | awk '/LISTEN/ {sub(".*\\.", "", $4); print $4}' | sort -nu
.