Récupérer des processus d'utilisation du réseau
Comment puis-je obtenir un processus d'envoyer/recevoir des octets? le meilleur moyen est de le faire avec C#.
J'ai cherché cette beaucoup et je n'ai pas trouvé de solution simple pour cela. Certaines solutions proposées pour installer WinPCap sur la machine et de travailler avec cette lib.
Comme ce gars a demandé: Besoin de "Processus avec l'Activité du Réseau" fonctionnalité dans le code managé - Comme resmon.exe il n'
Je ne veux pas la surcharge de la lib.
Est-il une solution simple pour cela?
En fait, je veux exactement les données que le Moniteur de Ressources de Windows donne dans le cadre du "Processus avec l'Activité du Réseau" de l'onglet:
Comment le Moniteur de Ressources de Windows obtient cette information?
Un exemple?
Aussi, essayé d'utiliser le compteur de la méthode qui est mentionné ici:
Manque de réseau envoyés/reçus
mais sans succès - comme chaque processus est illustré en vertu de ce compteur.
Et encore, je me demande comment le Moniteur de Ressources obtient cette information, même sans l'aide de ce compteur...
J'ai Essayé de travailler avec les compteurs de Performances manière mais sans succès - même lu le lien que vous avez ajouté.
stackoverflow.com/questions/438240/...
Lire déjà - je ne veux pas utiliser un 3ème partie de la solution. Aucun autre moyen natif?
OriginalL'auteur Tomer Peled | 2013-06-10
Vous devez vous connecter pour publier un commentaire.
Moniteur de ressources utilise ETW - heureusement, Microsoft a créé une belle nuget .net wrapper pour le rendre plus facile à utiliser.
J'ai écrit quelque chose comme cela récemment un rapport de mon processus du réseau IO:
System.UnauthorizedAccessException
de laEnableKernelProvider
méthode.Oui des droits d'administrateur sont nécessaires.
OriginalL'auteur Kram
Vous pouvez utiliser
PerformanceCounter
. Exemple de code:Et c'est pour obtenir les compteurs de performances pour la carte Réseau. Remarque il n'est pas spécifique
Il n'y a pas d'autre moyen natif (sauf si vous recourir à la 3-ème partie libs) pour faire pur la carte réseau IO liées à un processus unique. Ce que j'ai fait a été de surveillance de processus IO et aussi une carte réseau IO. Le plus tard, mais n'est pas spécifique à un processus d'ie, il recueille toutes les e / s des compteurs indépendamment d'un processus. Je vais éditer le code pour afficher la carte réseau de comptoirs.
Merci pour votre solution, mais c'est l'une des solutions que j'ai déjà trouvé et il ne pas répondre à mon objectif qui est d'obtenir des processus de l'utilisation du réseau. Je suis à la recherche d'une autre manière, comme le Moniteur de Ressources de Windows obtient cette information...
Ne pouvez-vous pas juste de comparer l'utilisation de processus à l'encontre de l'utilisation du système? Sans doute, vous pouvez obtenir les informations sur les interfaces de décider ce que le maximum de la bande passante est (10/100/etc.). Au moins, je pense que c'est probablement la façon dont je vais travailler avec elle.
J'ai demandé à un simmiliar question stackoverflow.com/questions/35460656/...
OriginalL'auteur oleksii