Comment faire un ping sur un port spécifique


Techniquement, vous ne pouvez't. Le ping utilise les paquets ICMP "echo request", et ICMP n'utilise pas les numéros de port.

Cependant, vous pouvez obtenir un résultat similaire en TCP en simulant une tentative d'ouverture d'une connexion sur ce port et en regardant si l'hôte cible répond. Il y a trois réponses probables : un TCP SYN-ACK, qui est la deuxième des trois étapes de la poignée de main habituelle en trois étapes pour ouvrir une connexion et qui indique que l'hôte distant est prêt à accepter une connexion, un TCP RST, qui indique que l'hôte ne veut ou ne peut pas accepter une connexion (généralement parce qu'il n'y a rien de configuré pour écouter les connexions dans ce port), ou un paquet ICMP destination unreachable, qui indique l'une des différentes raisons pour lesquelles la destination n'a pas pu être atteinte. Pour UDP, tout ce que vous pouvez faire est d'envoyer un datagramme et de voir si vous obtenez la réponse ICMP unreachable. Si c'est le cas, le port n'est pas disponible pour vous. Si vous n'en avez pas, le port peut être ouvert, ou non.


C'est essentiellement ce que font les scanners réseau comme Nmap.

Notez que le fait d'envoyer un SYN pour ouvrir un port, puis de ne pas terminer la poignée de main ou de réinitialiser la connexion semi-ouverte, laisse la connexion semi-ouverte à l'autre extrémité. Un tel comportement a tendance à déclencher les systèmes de détection d'intrusion, et en général, vous ne devriez pas faire de sondage TCP ou autrement scanner un système à moins d'avoir la permission de son propriétaire, car sinon vos actions peuvent être interprétées comme une tentative de compromettre la sécurité.