Question Sous Windows, en utilisant la ligne de commande, comment vérifier si un port distant est ouvert?


Quel est un moyen simple dans Windows de tester si le trafic parvient à un port spécifique sur une machine distante?


76
2017-07-02 18:01


origine


En relation: superuser.com/questions/11207/… - Pacerier


Réponses:


L’autre jour, j’ai trouvé un bijou caché de Microsoft conçu pour tester les ports:

Portqry.exe

"Portqry.exe est un utilitaire de ligne de commande que vous pouvez utiliser pour résoudre les problèmes de connectivité TCP / IP. Portqry.exe s'exécute sur les ordinateurs Windows 2000, Windows XP et Windows Server 2003. L’utilitaire indique l’état des ports TCP et UDP sur l’ordinateur que vous avez sélectionné. "


59
2017-07-02 18:30



Remarque: toute tentative de téléchargement à partir de Microsoft a renvoyé une page indiquant que le téléchargement est "n'est plus disponible". - dgw
@dgw Merci pour cela .. google montre une nouvelle version si vous recherchez "portrait" que je vérifierai demain - Peter M
version console microsoft.com/downloads/… et version ui: download.microsoft.com/download/3/f/4/… Ref: support.microsoft.com/en-us/help/310099/… - Junior M


Quelle version de Windows? Pour Windows 8 / Server 2012 et versions ultérieures, les opérations suivantes fonctionnent dans PowerShell:

Test-NetConnection 128.159.1.1 -Port 80

Certains utilisateurs de Google trouveront également des alternatives qui utilisent directement le .NET Framework (puisque PowerShell vous permet de le faire) pour les systèmes exécutant des versions plus basses de Windows qui ne le seront pas. Test-NetConnection disponible.

Si vous n'êtes pas opposé à l'utilisation d'utilitaires tiers, Nmap est également un très bon ami à avoir et cela fonctionne à partir de la ligne de commande.


40
2017-10-16 06:18



Méthode .Net: $connection = (New-Object Net.Sockets.TcpClient).Connect($target,$port); If ($connection.Connected) { $connection.Close() } - xXhRQ8sD2L7Z
Sur Win7, cela ne fonctionne pas :-( - samsmith
@samsmith Parlez-vous de la commande dans ma réponse ou du commentaire de ST8Z ...? Celui de ma réponse seulement fonctionne pour Win8 / 2k12 et supérieur, et la réponse dit autant. - Iszi
Semble être Windows 8.1 - Je n'arrive pas à le trouver sous Windows 8 - Andy Krouwel
Fonctionne très bien sous Windows 10 et je n'ai besoin d'installer aucun programme ni d'ajouter de fonctionnalités. Merci! :) - Steve Bauman


Utilisez la commande telnet pour vous connecter au serveur sur le port spécifié et voir si une connexion peut être établie.

Succès:

$ telnet my_server 25
220 my_server ESMTP Postfix

Échouer:

$ telnet my_server 23632
Connecting To my_server...Could not open connection to the host, on port 23632:
Connect failed

23
2017-07-02 18:05



ne fonctionne pas pour UDP. - Adriano Varoli Piazza
UDP est sans connexion .. - Amalgovinus


Telnet fonctionnera pour TCP.

Netcat est un meilleur outil pour ce genre de choses, y compris UDP, mais certains logiciels audiovisuels le considèrent comme un «outil de piratage malveillant».


7
2017-07-02 18:07





la commande suivante listera tous les ports utilisés sur la machine ...

netstat -a

La sortie contient le protocole, l'adresse locale, l'adresse étrangère et l'état actuel

Documentation Netstat sur microsoft.com


1
2017-07-11 13:05



La question concerne les ports ouverts sur un éloigné machine, pas locale. - Chris S


Utilisation netcat port Windows:

>nc -zvv www.google.com 80
www.google.com [108.177.96.103] 80 (http) open
sent 0, rcvd 0
>

>nc -zvv www.google.com 888
www.google.com [108.177.96.147] 888 (?): TIMEDOUT
sent 0, rcvd 0: NOTSOCK
>

0
2017-10-25 12:48





"netstat" est votre ami.


-4
2017-07-02 18:03



Machine locale oui, machine distante non.
Cette réponse avait été postée avant la modification et spécifiait qu'il s'agissait d'un port sur une machine distante.