Fiche de l'astuce

Identifier les services associés au processus SVCHOST

Identifier les services associés au processus SVCHOST

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.

mots-clés : identifier svchost, services scvhost , astuces windows , astuces vista

Notation

  • Votre avis : 3.91/5, 5 avis (650 Avis)
  • 1 Mauvaise
  • 2 Pas terrible
  • 3 Passable
  • 4 Bonne
  • 5 Excellente
Produit du jour : Brok'in Reconnait les bruits avec les Muppets à partir de 3.00 € (Logiciel)
 
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...

../..
Voir les 9 commentaires - Poster un commentaire

Commentaires

squal16
 
Très bonne astuce, jusqu'à ce jour je ne savais pas ce que cachait SVCHOST.

Merci :)
chris34
 
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/f...cexp.shtml
phebus
 
Merci mais on ne sais pas très bien les services inutiles dans SVCHOST
C'est l'aventure
qqcvd2
 
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
zOOx
 
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/76...omeow3.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/sy...fault.mspx
voili-voiloum :crazy:
CodeKiller
 
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...
CodeKiller
 
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.
Fixpe
 
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.
hectordetroie
 
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.:)

Poster un commentaire

Vous devez être enregistré pour poster des commentaires. S'inscrire...