Quel port utilise un programme donné? [fermé]

99

Je veux être en mesure de savoir quel port utilise un programme particulier. Existe-t-il des programmes disponibles en ligne ou fournis avec Windows qui me diront quels processus utilisent quels ports sur mon ordinateur?

PS - avant que vous ne modifiiez cela pour ne pas être une question de programmation, je cherche le programme pour tester du code de réseau.

AlexeyMK
la source
7
Que vous utilisiez ou non ceci dans le cadre d'un projet de programmation, ce n'est pas un problème de programmation.
Courses de légèreté en orbite le

Réponses:

149

netstat -b -arépertorie les ports utilisés et vous donne l'exécutable qui utilise chacun d'eux. Je pense que vous devez être dans le groupe des administrateurs pour ce faire, et je ne sais pas quelles sont les implications de sécurité sur Vista.

J'ajoute généralement -naussi pour le rendre un peu plus rapide, mais l'ajout -bpeut le rendre assez lent.

Edit : Si vous avez besoin de plus de fonctionnalités que ce que fournit netstat, vasac vous suggère d'essayer TCPView .

Graeme Perrow
la source
1
Si quelqu'un a le droit de modifier une réponse, pensez à ajouter la réponse de vasac ci-dessous (TCPView) pour quiconque a besoin d'une version plus complète de cette fonctionnalité avec une vraie
interface graphique
J'ai ajouté le lien vers TCPView à ma réponse.
Graeme Perrow
1
est-il possible avec un pare-feu?
Mohammad Kermani
42

TCPView peut faire ce que vous avez demandé.

Vasac
la source
1
Je vous remercie; netstat est plus que suffisant pour mes besoins, mais si jamais j'ai besoin de quelque chose de plus hardcore, je serai sûr d'utiliser TCPView. Doit être ajouté à la réponse acceptée mais hélas je n'ai pas encore le droit de modifier.
AlexeyMK
J'utilise l'utilitaire Netstat fourni avec XAMPP. Mais cet utilitaire autonome est très utile. Merci.
Shiyaz
25

Sous Vista, vous avez besoin de privilèges élevés pour utiliser l'option -b avec netstat. Pour contourner cela, vous pouvez exécuter "netstat -ano" qui affichera tous les ports ouverts avec l'ID de processus associé. Vous pouvez ensuite utiliser la liste des tâches pour rechercher quel processus a l'ID correspondant.

C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    [::]:49335             [::]:0                 LISTENING       1056
  ...

C:\>tasklist /fi "pid eq 1056"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe                  1056 Services                   0     66,192 K
Jim Olsen
la source
13

Vous avez peut-être déjà installé Process Explorer (de Sysinternals, qui fait maintenant partie de Microsoft). Sinon, allez-y et installez-le maintenant - c'est vraiment cool.

Dans Process Explorer: recherchez le processus en question, cliquez avec le bouton droit de la souris et sélectionnez l'onglet TCP / IP. Il vous montrera même, pour chaque socket, une trace de pile représentant le code qui a ouvert cette socket.

Adam Mitz
la source
7

Si vous préférez une interface graphique, CurrPorts est gratuit et fonctionne avec toutes les versions de Windows. Affiche les ports et quel processus les a ouverts.

ctcherry
la source
une autre bonne alternative. wow, je ne savais pas que c'était un sujet si populaire :)
AlexeyMK
5

"netstat -natp" est ce que j'utilise toujours.

Steve Baker
la source
4

Windows 8 (et probablement 7 + Vista) fournissent également une vue dans Resource Monitor. Si vous sélectionnez l'onglet Réseau, il y a une section appelée «Ports d'écoute». Peut trier par numéro de port et voir quel processus l'utilise.

Mikezx6r
la source
exactement ce dont j'avais besoin, 10x!
soninob le
3

Windows est livré avec l' netstatutilitaire, qui doit faire exactement ce que vous voulez.

Adam Rosenfield
la source
1

Sur une ligne de commande, netstat -a vous donnera beaucoup d'informations.

CodeRot
la source
Je voterais pour cela s'il me restait des votes.
UnkwnTech
-1: -a ne donne pas l'ID de processus
CharlesB
@CharlesB C'est le cas si vous ajoutez l' -ooption.
Marquis of Lorne
1

Vous pouvez utiliser la commande 'netstat' pour cela. Il y a une description de faire ce genre de chose ici .

Tkerwin
la source
-1

la plupart des programmes de pare-feu décents devraient vous permettre d'accéder à ces informations. Je sais que le pare-feu Agnitum OutpostPro le fait.

Toby Mills
la source