Network Monitor en tant que Service

 

Dans certains cas il peut être utile voir indispensable de capturer le trafic réseau émis/reçu par une machine dés le démarrage du système (avant même l’ouverture de session Windows).

Sur les plateformes Windows 7 / Windows 2008 R2 il suffit d’exécuter la commande suivante pour lancer une capture du trafic dés le démarrage du système :

netsh trace start capture=yes persistent=yes

Plus d’information sur l’utilisation de Netsh dans ce contexte ICI.

Voici donc la marche à suivre pour les autres plateformes :

Prérequis :

SRVANY.EXE (Outils du Ressource Kit Windows 2003 - )

INSTSRV.EXE (Outils du Ressource Kit Windows 2003)

NETMON 3.4 : Installer Network Monitor 3.4 en mode « complet/full » .

“Install.bat” :

Le but de ce script est de créer un service et de l’associer avec le script “StartCap.bat” qui démarre une capture.

(Copier les commandes ci-dessous vers un nouveau document texte puis enregistrer le fichier sous le nom « Install.bat » )

@Echo off

c:\NMbootcap\INSTSRV.EXE NMBootCap c:\NMbootcap\SRVANY.EXE

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\NMBootCap\Parameters /v Application /t REG_SZ /d c:\NMbootcap\startcap.bat

“StartCap.bat” :

Le but de ce script est de démarrer une capture du trafic sur toutes interface réseau disponible .

(Copier les commandes ci-dessous vers un nouveau document texte puis enregistrer le fichier sous le nom « StartCap.bat » )

Nmcap /network * /capture /file c:\NMBootCap\capture.chn:5M /TerminateWhen /Timeafter 10 min

Procédure :

1- Créer un répertoire « C:\NMBootCap », Copier tous les fichiers vers ce répertoire. (srvany.exe, instsrv.exe, install.bat, startcap.bat)

2- Ouvrir une invite de commande avec les droits d’administrateur local et exécuter la commande suivante :

C:\NMBootcap\Install.bat

A ce stade , notre Service “NMBootCap” est créé. Dés son démarrage une capture du trafic est lancée tel que définie dans le fichier “startcap.bap” .

3- Pour vérifier le bon déroulement de l’opération, via le gestionnaire de services, tenter de démarrer « NMbootCap ».

image

Lors du démarrage du service un fichier « C:\NMBootCap\capture.cap » doit être créé.

4- Redémarrer le système.

Arrêt de la capture :

Une fois lancée, la capture s’arrêtera automatiquement 10 minutes après le démarrage du service (comme configuré dans le fichier « StartCap.bat »)

Les données sont enregistrés dans des fichiers « chainés » de 5 Mo chacun (c:\NMBootCap\capture.cap, capture(1).cap, …).

“Nmcap /network * /capture /file c:\NMBootCap\capture.chn:5M /TerminateWhen /Timeafter 10 min”

 

Une autre méthode pour arrêter la capture :

1- Arrêter le service NMBootCap via la commande « net stop NMBootCAP »

2- Puis « Tuer » le processus « nmcap.exe » via le gestionnaire de taches Windows.

Attention cette méthode rends inutilisable le dernier fichier de capture en cours d’écriture au moment de l’arrêt du processus nmcap.exe. Veiller donc à ce que la séquence intéressante ait bien été enregistrée dans un fichier de capture chainé distinct. (Pour accélérer la création de nouveaux fichiers de capture, vous pouvez générer du trafic en lançant une copie de fichier volumineux au travers du réseau par exemple.)

Plus d’informations :

L’Art de Prendre des traces réseau en ligne de commande : https://blogs.technet.com/b/windows_networking_fr/archive/2010/10/15/l-art-de-prendre-des-traces-r-233-seau-en-ligne-de-commande.aspx

How to create a User-Defined Service : https://support.microsoft.com/kb/137890/en-us

Capturing a trace at Boot Up :https://blogs.technet.com/b/netmon/archive/2010/01/04/capturing-a-trace-a-boot-up.aspx