Introduzione: ho creato una funzione bash in grado di verificare se una porta è disponibile e la incrementa di 1 se falsa fino a un determinato numero di porta massimo. Ad esempio, se la porta 500 non è disponibile, la disponibilità di 501 verrà verificata fino a 550.
Obiettivo: per testare questa funzione bash è necessario creare un intervallo di porte in stato ASCOLTA.
Tentativi: su Windows è possibile creare una porta LISTEN usando questi comandi di 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>
Sulla base di questo stavo cercando di pensare a un comando che potesse fare lo stesso su CentOS, ma non so perché e ho iniziato a Google senza trovare una soluzione che risolva questo problema.
Risposta prevista : accetterò e valuterò la risposta che contiene un comando in grado di creare una porta LISTEN e una volta eseguito il comando, la porta dovrebbe rimanere nello stato LISTEN, ovvero:
[user@host ~]$ ss -nat | grep 500
LISTEN 0 128 *:500 *:*
netstat -an --tcp | awk '/LISTEN/ {sub(".*:", "", $4); print $4}' | sort -nu
. On * BSD:netstat -an -f inet -p tcp | awk '/LISTEN/ {sub(".*\\.", "", $4); print $4}' | sort -nu
.