Ouvrir les ports
Les ports sont ouverts sur un système par divers services d'arrière-plan comme le serveur http, le serveur de base de données, le serveur smtp, etc.
Si vous utilisez un serveur Web et lancez un tel service, il ouvrira un port afin que d'autres systèmes sur Internet ou sur le réseau local puissent s'y connecter.
Après avoir démarré un service sur votre système, vous devez vérifier si le port souhaité est ouvert par le service ou non.
Si le port n'est pas ouvert, le service n'a probablement pas démarré ou a cessé de fonctionner en raison d'une erreur.
Vérifier les ports ouverts avec Netstat
Un moyen très simple de vérifier les ports ouverts sur un serveur ou un système Linux consiste à utiliser les commandes netstat. Bien que la commande netstat soit destinée à vérifier les connexions réseau sur un système, elle peut vérifier et signaler facilement les ports ouverts.
La syntaxe est très simple. Vous devez utiliser les options suivantes :
"-l" (for listening connections) "-t" (for tcp connections) "-p" (process name and id that opened the port) "-n" (show port numbers instead of names)
Voici un exemple rapide :
$ sudo netstat -ltpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:6600 0.0.0.0:* LISTEN 1/init tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1283/apache2 tcp 0 0 0.0.0.0:1716 0.0.0.0:* LISTEN 1748/kdeconnectd tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 735/systemd-resolve tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1471/cupsd
L'exemple ci-dessus montre clairement qu'apache a ouvert le port http (80) et que mysql a ouvert le port 3306.
Si vous omettez l'option "-n", les noms de port seront affichés à la place.
$ sudo netstat -ltp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:6600 0.0.0.0:* LISTEN 1/init tcp 0 0 localhost:mysql 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN 1283/apache2 tcp 0 0 0.0.0.0:1716 0.0.0.0:* LISTEN 1748/kdeconnectd tcp 0 0 localhost:domain 0.0.0.0:* LISTEN 735/systemd-resolve tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN 1471/cupsd
Vérifiez le port ouvert spécifique
Si vous souhaitez répertorier un port ouvert spécifique, filtrez la sortie avec grep. La commande suivante filtre le numéro de port contenant 3306
$ sudo netstat -ltpn | grep "3306" tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1294/mysqld
Conclusion
Pour en savoir plus sur la commande netstat, consultez notre tutoriel ici :
10 exemples de base de la commande Linux Netstat
J'espère que cela a été utile. Si vous avez des questions ou des commentaires, faites-le nous savoir dans les commentaires ci-dessous.