Identifier les services associés au processus SVCHOST

Le par  |  9 commentaire(s)

Beaucoup de services identifiés comme étant critiques sont lancés par SVCHOST, voici un petit moyen de voir les associations entre ces services et les différentes instances du processus SVCHOST.

Note des utilisateurs :
(663 votes)
Systèmes d'exploitation supportés :
Qu'est-ce que Svchost.exe '

C'est un nom de processus hôte générique pour les services exécutés à partir de DLL. Vous n'avez pas compris ' :-) En français, ça donne ceci :

Explication simple

C'est un processus Windows, au même titre que les autres processus visibles dans le gestionnaire de tâches tels que "explorer.exe", "services.exe" ou "winlogon.exe" mais avec la particularité d'être générique, en effet, il fonctionne en tant qu'hôte pour tous les services exécutés à partir de DLL. Son nom est d'ailleurs assez parlant : svchost que l'on pourrait couper en deux, svc pour services et host pour hôte.


Explication détaillée

Le fichier svchost.exe se trouve dans le répertoire %SystemRoot%\System32. A chaque démarrage de Windows, le processus svchost.exe analyse la section "services" de la base de registre afin d'y construire une liste des services à charger. Plusieurs instances de svchost.exe peuvent être démarrées et ainsi cohabiter ensemble, chacune des ces instances peut contenir un service unique ou un groupe de services.

Si vous êtes currieux, vous pouvez consulter ces groupes de services via la base de registre dans la branche :

HKEY_LOCAL_MACHINE

\Software\Microsoft\WindowsNT\CurrentVersion\Svchost

Image


Chaques valeurs de la clé Svchost représente un groupe de services et par conséquent une instance de svchost.exe, ces groupes apparaissent sous la forme d'instances distinctes lorsque vous affichez les processus actifs, voir la capture d'écran ci-dessous :

Image


Comme vous le constatez, ces instances ne donnent pas le détail précis sur les services en cours d'éxecution, c'est plutôt frustrant. Heureusement qu'il y a un moyen simple de lister l'ensemble des services éxecutés sous le processus svchost.exe, nous allons voir ça un peu plus loin.


Pour identifier les DLL utilisées par ces services, puisque ce sont des services éxecutés à partir de DLL dont il s'agit, il suffit d'aller dans la branche :

HKEY_LOCAL_MACHINE
\System\CurrentControlSet\Services\[nom du service en question]\Parameters


Image


Dans l'exemple ci-dessus, pour le service "Nla" vous verrez la DLL utilisée dans la valeur ServiceDll, en l'occurence ici il s'agit de la DLL mswsock.dll.

Voilà en gros ce qu'il y a à savoir sur svchost.exe. Bon, assez de blabla, passons à la suite...

../..
Complément d'information
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos commentaires
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #168755
Très bonne astuce, jusqu'à ce jour je ne savais pas ce que cachait SVCHOST.

Merci
Le #168756
super l'astuce. A noter qu'un petit freeware cô Process Explorer fournit aussi pas mal d'infos sur les processus en cours

http://www.sysinternals.com/ntw2k/freeware/procexp.shtml
Anonyme
Le - Editer #168761
Merci mais on ne sais pas très bien les services inutiles dans SVCHOST
C'est l'aventure
Le #168779
je vois pas comment faire le raprochement entre le nom de service donné par la commande tasklist et les noms de services dans services.msc
Le #169227
Bijour, si je connaissais l'outil de sysinternals je ne connaissais pas cette astuce "directe" dans XP. Très bien faite et intéressante mais j'aimerais faire 2 précision (une sur l'astuce, une sur le commentaire de Chris) :
1- Je viens de tester l'astuce sur un portable livré avec XP.SP2 familial et la commande me renvoit un msg d'erreur "tasklist n'est pas reconnu en tant que commande interne etc..."
=>voir capture écran : http://img95.imageshack.us/img95/7630/notasklistinxphomeow3.png
(on peut voir aussi que la version n'est pas la même que sur votre capture... XP HOME' le "cd\" est une "vieille" habitude de l'époque DOS 6.2 )
2- Sysinternals.com - a été racheté par microsoft (ceci dit M. Russinovitch, l'auteur, est une pointure CHEZ microsoft ;-) et la bonne URL pour aller voir les outils (excellentissimes pour certains ; je pense à "rootkill revealer" par ex.) : http://www.microsoft.com/technet/sysinternals/default.mspx
voili-voiloum
Le #174309
Afficher des infos système : Seems (gratuit)

A noter que la commande "tasklist" ne fonctionne pas sous Windows XP Familiale

qqcvd2 : tu double-cliques sur le service dans le gestionnaire de service et tu regardes la commande...
Le #174310
qqcvd2

Tu vas ici dans ta base de registre (c'est expliqué...) pour les svchost :
HKEY_LOCAL_MACHINESystemCurrentControlSetServices[nom du service en question]Parameters
Et tu vois bien le fichier dll.
Le #175309
Merci pour l'excellente et très claire explication. Or donc, je constate comme d'autre (zOOx, CK ...) que "tasklist" ne fonctionne pas sous XP Home. Quelqu'un a t il un tuyau pour contourner le pb directement avec des commandes XP ?
Mon but est de "nettoyer" mon PC pour faire tourner des programmes nécessitant des ressources importantes.
Le #193248
tu peux si tu as XP home télécharcher tasklist.exe tu trouveras plusieurs liens avec un moteur de recherche. Ensuite tu le place dans system32 et tu peux l'avoir en ligne de commande. j'ai essaye ça marche tout marche.
Suivre les commentaires
Poster un commentaire
Anonyme
:) ;) :D ^^ 8) :| :lol: :p :-/ :o :w00t: :roll: :( :cry: :facepalm:
:andy: :annoyed: :bandit: :alien: :ninja: :agent: :doh: :@ :sick: :kiss: :love: :sleep: :whistle: =]