2016-12-22 1 views
1

J'ai un serveur qui écoute les connexions sur UDP et un autre sur TCP. J'ai besoin de savoir quel processus a initié la connexion. Est-ce possible? J'ai trouvé plusieurs solutions, mais toutes impliquent de vérifier chaque processus pour chaque port, ce qui pose un problème de performance à mon avis. Aussi, quand j'ai essayé ceci, je reçois seulement le PID de mon application de serveur, pas le client.C# find id de processus (pid) du client effectuant un appel UDP/TCP

Merci

Répondre

0

vous pouvez essayer cette

netstat -a -n -o | find "1688" 

Vous obtiendrez la sortie exacte du processus

UDP 10.4.112.77:55866  *:*         1688 
UDP 127.0.0.1:1900   *:*         1688 
UDP 127.0.0.1:55868  *:*         1688 

Essayez ceci pour le port d'ID de processus complet et le nom du processus.

  1. Ouvrez une fenêtre d'invite (en tant qu'administrateur) A partir de « zone Démarrer \ Recherche » Entrez « cmd » puis faites un clic droit sur « cmd.exe » et sélectionnez « Exécuter en tant qu'administrateur »
  2. Enter: netstat -abno
  3. Trouver le port que vous écoutez sous "Adresse locale"
  4. Regardez le nom du processus directement sous cela.

vous pouvez collecter les informations et l'analyser la sortie

celui-lien de la pile peut être vous aider. Which PID listens on a given port in c#

+0

netstat -a -n -o | trouver "55868" mettre le numéro de port, vous obtiendrez l'ID de processus UDP [:: 1]: 55865 *: * 1688 Espérons que cela aide –