« FAQ:TestPort » : différence entre les versions

De WikiFr_dbSQWare
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(4 versions intermédiaires par le même utilisateur non affichées)
Ligne 38 : Ligne 38 :
nc -w 20 -zv 192.168.666.24 22
nc -w 20 -zv 192.168.666.24 22
</syntaxhighlight>
</syntaxhighlight>
===Avec bash et /dev/tcp (disponible dans bash si activé)===
Fonctionne seulement si bash est compilé avec le support de /dev/tcp (souvent le cas).
<syntaxhighlight lang="sh" line>
timeout 20 bash -c "</dev/tcp/<hôte>/<port>" 2>/dev/null && echo "Connected" || echo "Connection refused"
</syntaxhighlight>
Vous pouvez aussi ajuster le timeout.
Exemple avec succès :
<syntaxhighlight lang="sh" line>
timeout 20 bash -c "</dev/tcp/192.168.666.24/22" && echo "Connected" || echo "Connection refused"
</syntaxhighlight>
<pre>
Connected
</pre>
Exemple avec echec :
<syntaxhighlight lang="sh" line>
timeout 20 bash -c "</dev/tcp/192.168.666.24/23" && echo "Connected" || echo "Connection refused"
</syntaxhighlight>
<pre>
bash: connect: Connection refused
bash: line 1: /dev/tcp/192.168.666.24/23: Connection refused
Connection refused
</pre>
===Avec nmap (le classique)===
nmap est une commande de scan très puissante (attention aux plages) en voici une utilisation très simple.
https://nmap.org/man/fr/index.html
<syntaxhighlight lang="sh" line>
nmap --host-timeout <sec> -p <port> <hôte>
</syntaxhighlight>
- open : le port répond (accessible depuis l’extérieur)<br>
- filtered : nmap n’a pas eu de réponse, souvent firewall<br>
- closed : port accessible mais aucun service à l’écoute<br>
Exemple avec succès :
<syntaxhighlight lang="sh" line>
nmap --host-timeout 20 -p 22 192.168.666.24
</syntaxhighlight>
<pre>
Starting Nmap 7.92 ( https://nmap.org ) at 2025-10-05 14:09 CEST
Nmap scan report for sqwaremanage.dbsqware.local (192.168.666.24)
Host is up (0.0017s latency).
PORT  STATE SERVICE
22/tcp open  ssh
Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
</pre>
Exemple avec echec :
<syntaxhighlight lang="sh" line>
nmap --host-timeout 20 -p 23 192.168.666.24
</syntaxhighlight>
<pre>
Starting Nmap 7.92 ( https://nmap.org ) at 2025-10-05 14:10 CEST
Nmap scan report for sqwaremanage.dbsqware.local (192.168.666.24)
Host is up (0.00061s latency).
PORT  STATE  SERVICE
23/tcp closed telnet
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
</pre>
==Tests ports d'écoute en local==
Parfois, le problème vient "simplement" du fait que l'on ne vous a pas donné le bon port !
Voici comment vérifier (si vous avez accès à la machine).
===Avec netstat (le classique)===
netstat n'est plus toujours installé sur les versions récentes ...
Se lance sur la machine où l'on veut tester.
<syntaxhighlight lang="sh" line>
netstat -tulpn
</syntaxhighlight>
Exemple avec un port :
<syntaxhighlight lang="sh" line>
netstat -tulpn | grep :443
</syntaxhighlight>
<pre>
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:443            0.0.0.0:*              LISTEN      -
</pre>
Exemple sans filtrage :
<syntaxhighlight lang="sh" line>
netstat -tulpn
</syntaxhighlight>
<pre>
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
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:3306            0.0.0.0:*              LISTEN      -
tcp        0      0 0.0.0.0:25              0.0.0.0:*              LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      -
tcp        0      0 0.0.0.0:80              0.0.0.0:*              LISTEN      -
tcp        0      0 0.0.0.0:443            0.0.0.0:*              LISTEN      -
tcp6      0      0 :::3306                :::*                    LISTEN      -
tcp6      0      0 :::22                  :::*                    LISTEN      -
tcp6      0      0 127.0.0.1:8080          :::*                    LISTEN      1609365/java
udp        0      0 0.0.0.0:123            0.0.0.0:*                          -
udp        0      0 127.0.0.1:323          0.0.0.0:*                          -
udp6      0      0 ::1:323                :::*                                -
</pre>
===Avec ss ===
ss est à privillégier sur les versions récentes ...
Se lance sur la machine où l'on veut tester.
<syntaxhighlight lang="sh" line>
ss -tulnp
</syntaxhighlight>
Exemple avec un port :
<syntaxhighlight lang="sh" line>
ss -tulnp | grep :443
</syntaxhighlight>
<pre>
tcp  LISTEN 0      511              0.0.0.0:443      0.0.0.0:*
</pre>
Exemple sans filtrage :
<syntaxhighlight lang="sh" line>
ss -tulnp
</syntaxhighlight>
<pre>
Netid                State                  Recv-Q                Send-Q                                        Local Address:Port                                  Peer Address:Port                Process
udp                  UNCONN                0                      0                                                  0.0.0.0:123                                        0.0.0.0:*
udp                  UNCONN                0                      0                                                127.0.0.1:323                                        0.0.0.0:*
udp                  UNCONN                0                      0                                                    [::1]:323                                            [::]:*
tcp                  LISTEN                0                      70                                                  0.0.0.0:3306                                        0.0.0.0:*
tcp                  LISTEN                0                      100                                                0.0.0.0:25                                          0.0.0.0:*
tcp                  LISTEN                0                      128                                                0.0.0.0:22                                          0.0.0.0:*
tcp                  LISTEN                0                      511                                                0.0.0.0:80                                          0.0.0.0:*
tcp                  LISTEN                0                      511                                                0.0.0.0:443                                        0.0.0.0:*
tcp                  LISTEN                0                      70                                                    [::]:3306                                          [::]:*
tcp                  LISTEN                0                      128                                                    [::]:22                                            [::]:*
tcp                  LISTEN                0                      100                                      [::ffff:127.0.0.1]:8080                                              *:*                    users:(("java",pid=1609365,fd=9))
</pre>

Dernière version du 5 octobre 2025 à 13:27

Explications

Lors du paramétrage d'une nouvelle instance, il faut un accès ssh et/ou SQL.
Il faut donc avoir le bon port d'écoute et que celui-ci ne soit pas filtré par un FW.
En fonction des OS, de leurs versions et de leur niveau de sécurisation, nous n'avons pas toujours les mêmes outils à disposition pour faire les tests ...
Voici donc quelques exemples (il y a forcément d'autres méthodes mais celles-ci doivent couvrir la plupart des cas).

Tests

Avec nc (netcat)

nc -zv <hôte> <port>

-z : mode "scan", n’envoie pas de données -v : mode verbeux, affiche le résultat

Exemple avec succès :

nc -zv 192.168.666.24 22
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.666.24:22.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.

Exemple avec echec :

nc -zv 192.168.666.24 23
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connection refused.

On peut avoir connection refused ou timed out si le port est filtré

Pour ne pas attendre "toute la nuit", on peut rajouter "-w" pour régler le timeout ... Exemple :

nc -w 20 -zv 192.168.666.24 22

Avec bash et /dev/tcp (disponible dans bash si activé)

Fonctionne seulement si bash est compilé avec le support de /dev/tcp (souvent le cas).

timeout 20 bash -c "</dev/tcp/<hôte>/<port>" 2>/dev/null && echo "Connected" || echo "Connection refused"

Vous pouvez aussi ajuster le timeout.

Exemple avec succès :

timeout 20 bash -c "</dev/tcp/192.168.666.24/22" && echo "Connected" || echo "Connection refused"
Connected

Exemple avec echec :

timeout 20 bash -c "</dev/tcp/192.168.666.24/23" && echo "Connected" || echo "Connection refused"
bash: connect: Connection refused
bash: line 1: /dev/tcp/192.168.666.24/23: Connection refused
Connection refused

Avec nmap (le classique)

nmap est une commande de scan très puissante (attention aux plages) en voici une utilisation très simple. https://nmap.org/man/fr/index.html

nmap --host-timeout <sec> -p <port> <hôte>

- open : le port répond (accessible depuis l’extérieur)
- filtered : nmap n’a pas eu de réponse, souvent firewall
- closed : port accessible mais aucun service à l’écoute

Exemple avec succès :

nmap --host-timeout 20 -p 22 192.168.666.24
Starting Nmap 7.92 ( https://nmap.org ) at 2025-10-05 14:09 CEST
Nmap scan report for sqwaremanage.dbsqware.local (192.168.666.24)
Host is up (0.0017s latency).

PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds

Exemple avec echec :

nmap --host-timeout 20 -p 23 192.168.666.24
Starting Nmap 7.92 ( https://nmap.org ) at 2025-10-05 14:10 CEST
Nmap scan report for sqwaremanage.dbsqware.local (192.168.666.24)
Host is up (0.00061s latency).

PORT   STATE  SERVICE
23/tcp closed telnet

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Tests ports d'écoute en local

Parfois, le problème vient "simplement" du fait que l'on ne vous a pas donné le bon port ! Voici comment vérifier (si vous avez accès à la machine).

Avec netstat (le classique)

netstat n'est plus toujours installé sur les versions récentes ... Se lance sur la machine où l'on veut tester.

netstat -tulpn

Exemple avec un port :

netstat -tulpn | grep :443
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -

Exemple sans filtrage :

netstat -tulpn
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
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:3306            0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -
tcp6       0      0 :::3306                 :::*                    LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -
tcp6       0      0 127.0.0.1:8080          :::*                    LISTEN      1609365/java
udp        0      0 0.0.0.0:123             0.0.0.0:*                           -
udp        0      0 127.0.0.1:323           0.0.0.0:*                           -
udp6       0      0 ::1:323                 :::*                                -

Avec ss

ss est à privillégier sur les versions récentes ... Se lance sur la machine où l'on veut tester.

ss -tulnp

Exemple avec un port :

ss -tulnp | grep :443
tcp   LISTEN 0      511               0.0.0.0:443       0.0.0.0:*

Exemple sans filtrage :

ss -tulnp
Netid                 State                  Recv-Q                 Send-Q                                        Local Address:Port                                   Peer Address:Port                 Process
udp                   UNCONN                 0                      0                                                   0.0.0.0:123                                         0.0.0.0:*
udp                   UNCONN                 0                      0                                                 127.0.0.1:323                                         0.0.0.0:*
udp                   UNCONN                 0                      0                                                     [::1]:323                                            [::]:*
tcp                   LISTEN                 0                      70                                                  0.0.0.0:3306                                        0.0.0.0:*
tcp                   LISTEN                 0                      100                                                 0.0.0.0:25                                          0.0.0.0:*
tcp                   LISTEN                 0                      128                                                 0.0.0.0:22                                          0.0.0.0:*
tcp                   LISTEN                 0                      511                                                 0.0.0.0:80                                          0.0.0.0:*
tcp                   LISTEN                 0                      511                                                 0.0.0.0:443                                         0.0.0.0:*
tcp                   LISTEN                 0                      70                                                     [::]:3306                                           [::]:*
tcp                   LISTEN                 0                      128                                                    [::]:22                                             [::]:*
tcp                   LISTEN                 0                      100                                      [::ffff:127.0.0.1]:8080                                              *:*                     users:(("java",pid=1609365,fd=9))