Trucs & Astuces

Tester un port sur une interface précise

Tester un port sur une interface précise

Par ronan , 30 août, 2026

La commande suivante permet de savoir si un service est en écoute sur un port précis d'une interface

$ :> /dev/tcp/127.0.0.1/1234

La commande ci-dessus permet de savoir si un progamme quelconque écoute sur le port 1234 sur l'interface 127.0.0.1

$ :> /dev/tcp/0.0.0.0/1234

La commande ci-dessus permet de savoir si un progamme quelconque écoute sur le port 1234 sur n'importe quelle interface

$ :> /dev/tcp/1.2.3.4/1234

La commande ci-dessus permet de savoir si un progamme quelconque écoute sur le port 1234 sur l'interface publique correspondant à l'ip 1.2.3.4

Si on analyse les ports ouverts avec la commande ss

$ ss -unplot
Netid     State       Recv-Q      Send-Q                Local Address:Port            Peer Address:Port     Process
tcp       LISTEN      0           4096                        0.0.0.0:443                  0.0.0.0:*
tcp       LISTEN      0           4096                        0.0.0.0:80                   0.0.0.0:*
tcp       LISTEN      0           4096                      127.0.0.1:3306                 0.0.0.0:*

On peut vérifier qu'une application écoute bien sur le port 3306 uniquement sur l'interface 127.0.0.1

$ :> /dev/tcp/127.0.0.1/3306
$ :> /dev/tcp/0.0.0.0/3306
$ :> /dev/tcp/1.2.3.4/3306
-bash: connect: Connection refused
-bash: /dev/tcp/1.2.3.4/3306: Connection refused

On voit bien que le port 3306 est accessible sur l'interface 127.0.0.1 mais pas sur l'interface publique 1.2.3.4
Il n'y a pas d'erreur sur l'interface 0.0.0.0 car l'interface 127.0.0.1 en fait partie