J'essaie d'installer un site sous un autre port sur un serveur, mais le port peut être fermé par un pare-feu. Existe-t-il un moyen d'effectuer un ping out ou in, sur un port spécifique, pour voir s'il est ouvert?
J'essaie d'installer un site sous un autre port sur un serveur, mais le port peut être fermé par un pare-feu. Existe-t-il un moyen d'effectuer un ping out ou in, sur un port spécifique, pour voir s'il est ouvert?
Réponses:
En supposant que c'est un port TCP (plutôt que UDP) que vous essayez d'utiliser:
Sur le serveur lui-même, utilisez netstat -an
pour vérifier quels ports écoutent.
De l'extérieur, utilisez simplement telnet host port
(ou telnet host:port
sur les systèmes Unix) pour voir si la connexion est refusée, acceptée ou expire.
Sur ce dernier test, alors en général:
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 de commandes. Pour résoudre ce problème, activez-le simplement: Cliquez sur * Démarrer ** → Panneau de configuration → Programmes → Activer ou désactiver les fonctionnalités Windows . Dans la liste, faites défiler vers le bas et sélectionnez Telnet Client et cliquez sur OK.
Could not open connection to the host, on port *x*: Connect failed
indique?
telnet api-3t.sandbox.paypal.com 443
reçois Connecting to api-3t.sandbox.paypal.com...Could not open connection to the host on port 443: Connect failed
Est-ce parce que le pare-feu le bloque?
o host port
vs open command line (cmd.exe), puis tapeztelnet host port
Sous Windows, vous pouvez utiliser
netstat -na | find "your_port"
pour affiner les résultats. Vous pouvez également filtrer LISTENING
, ESTABLISHED
,TCP
et tel. Attention, il est sensible à la casse.
find
n'a pas fonctionné dans Windows 10 pour moi, mais a netstat -na | findstr "8080"
fonctionné
Si vous vérifiez de l'extérieur, pas à partir du serveur lui-même, et que vous ne voulez pas déranger l'installation de telnet (car il ne vient pas avec les dernières versions de Windows) ou de tout autre logiciel, alors vous avez PowerShell natif:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(Malheureusement, cela ne fonctionne qu'avec PowerShell 4.0 ou plus récent. Pour vérifier votre version de PowerShell, tapez $PSVersionTable
.)
PS: Notez que ces jours-ci, certaines affirmations sur la twittersphère suggèrent que cette réponse pourrait être améliorée en mentionnant "Test-Connection" de PowerShell Core, ou le raccourci "tnc". Voir https://twitter.com/david_obrien/status/1214082339203993600 et aidez-moi à modifier cette réponse pour l'améliorer s'il vous plaît!
(Si vous avez une PSVersion <4.0, vous n'avez pas de chance. Consultez ce tableau:
Même si vous pouvez mettre à niveau votre version de PowerShell en installant Windows Management Framework 4.0 , cela n'a pas fait l'affaire pour moi, l' applet de commande Test-NetConnection n'est toujours pas disponible).
Sur une machine Windows, vous pouvez utiliser PortQry de Microsoft pour vérifier si une application écoute déjà sur un port spécifique à l'aide de la commande suivante:
portqry -n 11.22.33.44 -p tcp -e 80
portqry -n 11.22.33.44 -p udp -e 19132
J'ai aimé ça:
netstat -an | find "8080"
de telnet
telnet 192.168.100.132 8080
Et assurez-vous simplement que le pare-feu est désactivé sur cette machine.
netstat -an | find "8080"
, dit:no such file named "8080"
S'il telnet
n'est pas disponible, téléchargez PuTTY . Il s'agit d'un client Telnet, SSH, etc. bien supérieur et sera utile dans de nombreuses situations, pas seulement dans celui-ci, surtout si vous administrez un serveur.
Voulez-vous un outil pour le faire? Il existe un site Web à http://www.canyouseeme.org/ . Sinon, vous avez besoin d'un autre serveur pour vous rappeler pour voir si un port est ouvert ...
Sur Windows Server, vous pouvez utiliser
netstat -an | where{$_.Contains("Yourport")}
Un autre utilitaire que j'ai trouvé et qui est bon et petit aussi, est PortQry Command Line Port Scanner version 2.0 .
Vous pouvez cingler un serveur et un port et il vous indiquera l'état du port. Il existe un utilitaire de ligne de commande et une interface utilisateur pour cela.