Menu Fermer

Comment tester un port ouvert distant sur Linux

La vérification de l’état du port distant est une tâche courante pour l’administrateur Linux.
Elle permet de s’assurer que votre appareil est sûr et qu’aucun service réseau non voulu n’est exposé.

Dans ce tutoriel je vous explique comment tester port ouvert distant sur Linux.
Pour cela, je vous donne 4 façons différentes pour y parvenir.
Notamment via nmap, curl, telnet et nc.

Comment tester port ouvert distant sur Linux

Comment tester un port ouvert distant sur Linux

nc

nc est un utilitaire du couteau suisse disponible dans le paquet netcat.
Ce dernier permet d’effectuer un scan de port.

Pour l’installer avec APT sur une distribution de type Debian, Ubuntu ou Mint :

sudo apt install netcat

Sur les distributions Linux Fedora, RHEL, CentOS avec dnf :

dnf install nc

Voici la syntaxe :

nc -vvv -w 10 -z <adresse IP ou adresse de l'hôte>  <port>

Le paramètre -w indique le délai du timeout.

Comment vérifier si port distant est ouvert sur Linux

Pour effectuer un port scan en UDP, vous pouvez utiliser le paramètre -u :

Comment vérifier si port distant est ouvert sur Linux

nmap

nmap est un utilitaire qui existe dans la plupart des dépôts de distribution Linux.
Voici la syntaxe afin de vérifier si un port est ouvert :

nmap -p <port> -v <adresse IP ou adresse de l'hôte>
Le paramètre -p peut prendre un intervalle de ports, si vous souhaitez en tester plusieurs. Exemple : -p 1-1000

Ainsi pour vérifier si le port 80 est ouvert sur nmap, il faut utiliser la commande suivante :

nmap -p 80 -v www.google.fr
Comment vérifier si port distant est ouvert sur Linux

Autres exemples avec un intervalles de ports distants à tester.
Closed signifie que le port est fermé.

Enfin pour tester un port distant en UDP, il faut utiliser le paramètre -sU.
Ce scan nécessite un accès root sur la machine utilisée.

nmap -sU -p 53 -v 1.1.1.1
Comment vérifier si port distant est ouvert sur Linux

telnet

Telnet est un ancien protocole de communication en TCP/IP supplanté par SSH.
Toutefois, vous pouvez l’utiliser pour vérifier si un port distant est ouvert.

De ce fait, l’utilitaire n’est plus disponible par défaut, il faut l’installer :

sudo apt install telnet

ou

sudo apt install telnet

Puis utilisez la syntaxe suivante :

 telnet <Adresse IP / Hôte> <port>

Par exemple pour vérifier si le port 22 distant est ouvert :

telnet 192.168.10.1 22

Lorsque le port distant est ouvert, on obtient ceci :

telnet 192.168.10.1 22
Trying 192.168.10.1...
Connected to 192.168.10.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.4p1 Debian-5+deb11u1
Comment vérifier si port distant est ouvert sur Linux

Lorsque le port distant est fermé, une erreur Connection refused s’affiche :

telnet 192.168.10.1 23
Trying 192.168.10.1...
telnet: Unable to connect to remote host: Connection refused

curl

Bien que la commande curl soit généralement utilisée pour télécharger des fichiers et des packages, vous pouvez également l’utiliser pour tester si un port distant est ouvert ou non.
Voici la commande curl pour vérifier si le port distant 22 sur IP 54.43.32.21 est ouvert ou non, en émettant une commande Telnet via Curl.

curl -v telnet://ip:port

Par exemple pour vérifier que le port 22 est ouvert :

curl -v telnet://192.168.10.1:22

Lorsque le port distant est ouvert, on obtient :

curl -v telnet://192.168.10.1:22
*   Trying 192.168.10.1:22...
* TCP_NODELAY set
* Connected to 192.168.10.1 (192.168.10.1) port 22 (#0)
SSH-2.0-OpenSSH_8.4p1 Debian-5+deb11u1
Comment vérifier si port distant est ouvert sur Linux

Lorsque le port distant est fermé, une erreur Connexion refusée s’affiche :

curl -v telnet://192.168.10.1:23
*   Trying 192.168.10.1:23...
* TCP_NODELAY set
* connect to 192.168.10.1 port 23 failed: Connexion refusée
* Failed to connect to 192.168.10.1 port 23: Connexion refusée
* Closing connection 0
curl: (7) Failed to connect to 192.168.10.1 port 23: Connexion refusée
Comment vérifier si port distant est ouvert sur Linux