495 votes

Comment puis-je déterminer si un port est ouvert sur un serveur Windows ?

J'essaie d'installer un site sous un port alternatif sur un serveur, mais le port peut être fermé par un pare-feu. Existe-t-il un moyen de lancer un ping sortant ou entrant, sur un port spécifique, pour voir s'il est ouvert ?

2 votes

765voto

Alnitak Points 143355

En supposant que c'est un port TCP (plutôt que UDP) que vous essayez d'utiliser :

  1. Sur le serveur lui-même, utilisez netstat -an pour vérifier quels ports sont en écoute.

  2. Depuis l'extérieur, il suffit d'utiliser telnet host port (ou telnet host:port sur les systèmes Unix) pour voir si la connexion est refusée, acceptée, ou si le délai d'attente est dépassé.

Sur ce dernier test, puis en général :

  • connexion refusée signifie que rien ne fonctionne sur ce port
  • accepté signifie que quelque chose fonctionne sur ce port
  • délai d'attente signifie qu'un pare-feu bloque l'accès

Sous Windows 7 ou Windows Vista, l'option par défaut "telnet" n'est pas reconnue comme une commande interne ou externe, un programme exploitable ou un fichier batch. Pour résoudre ce problème, il suffit de l'activer : Cliquez sur *Démarrer** → Panneau de contrôleProgrammesCaractéristiques des fenêtres tournantes activé ou désactivé. Dans la liste, faites défiler vers le bas et sélectionnez Client Telnet et cliquez sur OK .

317 votes

Dans Win7 ou Vista, l'option par défaut 'telnet' n'est pas reconnue comme une commande interne ou externe, un programme exploitable ou un fichier batch. Pour résoudre ce problème, il suffit de l'activer : Cliquez sur Démarrer, Panneau de configuration, Programmes, puis Activer ou désactiver les fonctionnalités de Windows. Dans la liste, faites défiler la page et sélectionnez Telnet Client, puis cliquez sur OK.

0 votes

@volody une suggestion sur la façon de faire cela sans droits d'administrateur ?

12 votes

@PankajKohli utiliser PuTTy client telnet à la place. Il n'est pas nécessaire de l'installer.

201voto

J.Celmer Points 311

Sous Windows, vous pouvez utiliser

netstat -na | find "your_port"

pour réduire les résultats. Vous pouvez également filtrer pour LISTENING , ESTABLISHED , TCP et autres. Attention, c'est sensible à la casse.

6 votes

Vous ne pouvez pas utiliser find comme ça, il va chercher les fichiers, vous devriez utiliser grep

42 votes

@MoatazElmasry, c'est vrai sur Linux, mais ceci est sur un serveur Windows, où find est la commande correcte. Grep n'est pas disponible sous Windows. Je viens d'exécuter la commande exacte mentionnée ici, et cela a parfaitement fonctionné.

0 votes

Vous pouvez également exécuter : netstat -an | select-string -pattern "your_port"

42voto

J'ai aimé ça :

netstat -an | find "8080" 

à partir de telnet

telnet 192.168.100.132 8080

Et assurez-vous que le pare-feu est désactivé sur cette machine.

0 votes

Lorsque j'ai utilisé cette commande, c'est-à-dire netstat -an | find "19345", je n'ai obtenu aucun résultat. Qu'est-ce que cela signifie ? -

2 votes

Cela signifie que ce port est libre

0 votes

J'obtiens une erreur lorsque je lance netstat -an | find "8080" il est dit, no such file named "8080"

42voto

Gunjan Moghe Points 21

Sur une machine Windows, vous pouvez utiliser PortQry de Microsoft pour vérifier si une application est déjà en écoute sur un port spécifique en utilisant la commande suivante :

portqry -n 11.22.33.44 -p tcp -e 80

4 votes

Les ports protégés par un pare-feu apparaissent généralement comme "FILTERED".

0 votes

Vous pouvez également utiliser cet outil pour vérifier le port UDP : portqry -n 11.22.33.44 -p udp -e 19132

24voto

user571380 Points 163

Si telnet n'est pas disponible, téléchargez PuTTY . Il s'agit d'un client Telnet, SSH, etc. bien supérieur et il sera utile dans de nombreuses situations, pas seulement dans celle-ci, surtout si vous administrez un serveur.

0 votes

Oui, mais pas pour coller du code Forth, disons, avec AmForth (sauf si vous utilisez PuTTY en combinaison avec Modifier le débordement ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X