web-dev-qa-db-fra.com

Ligne de commande pour regarder un port spécifique

Existe-t-il un moyen d'examiner l'état d'un port spécifique à partir de la ligne de commande Windows? Je sais que je peux utiliser netstat pour examiner tous les ports, mais netstat est lent et la recherche d’un port spécifique ne l’est probablement pas.

229
user1580018

Voici le solution facile de recherche de port ...

En cmd:

netstat -na | find "8080"

En bash:

netstat -na | grep "8080"

Dans PowerShell:

netstat -na | Select-String "8080"
223
Md. Naushad Alam

Vous pouvez utiliser la combinaison netstat avec les indicateurs -np et un canal pour les commandes find ou findstr.

L'utilisation de base est en tant que telle:

netstat -np <protocol> | find "port #"

Ainsi, par exemple, pour vérifier le port 80 sur TCP, vous pouvez procéder comme suit: netstat -np TCP | find "80" Ce qui donne le type de sortie suivant:

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

Comme vous pouvez le constater, cela n’indique que les connexions sur le port 80 pour le protocole TCP.

102
Rivasa

J'utilise:

netstat –aon | find "<port number>"

here o représente l'identifiant du processus. vous pouvez maintenant faire ce que vous voulez avec l'ID de processus. Pour mettre fin au processus, par exemple, utilisez:

taskkill /F /pid <process ID>
67
Himadri Pant

quand j'ai un problème avec WAMP Apache, j'utilise ce code pour trouver quel programme utilise le port 80.

netstat -o -n -a | findstr 0.0:80

enter image description here

3068 est PID, je peux donc le trouver dans le gestionnaire de tâches et arrêter ce processus.

66
Mohsen Safari

Comme indiqué ailleurs: utilisez netstat, avec les commutateurs appropriés, puis filtrez les résultats avec find [str]

Le plus fondamental:

netstat -an | find ":N"

ou

netstat -a -n | find ":N"

Pour trouver un port étranger, vous pouvez utiliser:

netstat -an | findstr ":N[^:]*$"

Pour trouver un port local, vous pouvez utiliser:

netstat -an | findstr ":N.*:[^:]*$"

N est le numéro de port qui vous intéresse.

-n garantit que tous les ports seront numériques, c'est-à-dire non retournés comme traduits aux noms de service.

-a vous assurera de rechercher toutes les connexions (TCP, UDP, écoute ...)

Dans la chaîne find, vous devez inclure les deux points, en tant que qualificatif de port, sinon le nombre peut correspondre à des adresses locales ou étrangères.

Vous pouvez affiner la recherche en utilisant d'autres commutateurs Netstat, si nécessaire ...

Lectures complémentaires (^ 0 ^)

netstat /?

find /?

findstr /?
20
EndUzr
netstat -a -n | find /c "10.240.199.9:8080"

il vous donnera le nombre de sockets actifs sur une adresse IP et un port spécifiques (numéro de port du serveur)

9
Uday Singh

Sous Windows 8: Ouvrez l’invite de commande, tapez netstat -an | recherchez "votre numéro de port", entrez.

Si la réponse est semblable à LISTENING alors le port est utilisé, sinon il est libre.

6
Pratik Roy

Pour améliorer réponse de @ EndUzr :

Pour trouver un port étranger (IPv4 ou IPv6), vous pouvez utiliser:

netstat -an | findstr /r /c:":N [^:]*$"

Pour trouver un port local (IPv4 ou IPv6), vous pouvez utiliser:

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

Où N est le numéro de port qui vous intéresse. Le commutateur "/ r" lui dit de le traiter comme une expression rationnelle. Le commutateur "/ c" permet à findstr d'inclure des espaces dans les chaînes de recherche au lieu de traiter un espace comme un délimiteur de chaîne de recherche. Cet espace ajouté empêche les ports plus longs d'être maltraités - par exemple, ": 80" contre ": 8080" et d'autres problèmes d'élongation de port.

Pour répertorier les connexions distantes au serveur RDP local, par exemple:

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

Ou pour voir qui touche votre DNS:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

Si vous souhaitez exclure les ports locaux uniquement, vous pouvez utiliser une série d'exceptions avec "/ v" et des caractères d'échappement avec une barre oblique inverse:

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"
2
shawn

Pour le port 80, la commande serait: netstat -an | trouver "80" Pour le port n, la commande serait: netstat -an | trouver "n"

Netstat est l’instruction donnée à votre machine

-a: affiche toutes les connexions et les ports d'écoute -n: affiche toutes les adresses et les instructions au format numérique (requis car la sortie de -a peut contenir des noms d'ordinateur).

Ensuite, une commande de recherche pour "Pattern Match" la sortie de la commande précédente.

1
subodhkarwa

Cela vous aidera

netstat -plan | grep :<port number>
0
jobin