Introduction: J'ai créé une fonction bash capable de vérifier si un port est disponible et l'incrémente de 1 si elle est fausse jusqu'à un certain numéro de port maximum. Par exemple, si le port 500 est indisponible, la disponibilité de 501 sera vérifiée jusqu’à 550.
Objectif: Afin de tester cette fonction bash, je dois créer une gamme de ports à l'état LISTEN.
Tentatives: Sous Windows, il est possible de créer un port LISTEN à l’aide des commandes PowerShell suivantes :
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>
Sur cette base, j'essayais de penser à une commande qui pourrait faire la même chose sur CentOS, mais je ne sais pas pourquoi et j'ai commencé à utiliser Google sans trouver de solution permettant de résoudre ce problème.
Réponse attendue : j'accepterai la réponse contenant une commande capable de créer un port LISTEN et, une fois la commande exécutée, le port devrait rester à l'état LISTEN, c'est-à-dire:
[user@host ~]$ ss -nat | grep 500
LISTEN 0 128 *:500 *:*
netstat -an --tcp | awk '/LISTEN/ {sub(".*:", "", $4); print $4}' | sort -nu
. Sur * BSD:netstat -an -f inet -p tcp | awk '/LISTEN/ {sub(".*\\.", "", $4); print $4}' | sort -nu
.