Skip to main content

PKTMON - Cheat Sheet Administrateur Windows

GuidePKTMON - Cheat Sheet Administrateur Windows

PKTMON (Packet Monitor) est un outil natif Windows permettant de diagnosticcapturer Pktmonet d'analyser le trafic réseau sans installer de logiciel tiers.


Vérifier la configuration actuelle

Contexte

Afficher

Serveurles filtres actifs :

    pktmon Nomfilter :list
    SRV
    Adresse IP : 127.0.0.1
    

    ApplicationAfficher les composants monitorés :

      pktmon SE_DRVUTL.EXEcomp Cheminlist
      :
      C:\MICRO-SESAME\MICRO-SESAME_2024.3.15\prog\SE_DRVUTL.EXE
      

      PortAfficher utilisél'aide :

        pktmon UDPhelp
        20500
        

        ObjectifNettoyer les filtres

        VérifierSupprimer quetous les filtres :

          pktmon Lefilter clientremove
          envoie
          bien

          Capturer un port spécifique

          UDP

          Capturer le port UDP 20500 :

          pktmon filter add -p 20500
          

          TCP

          Capturer le port TCP 443 :

          pktmon filter add -p 443
          

          Lister les paquets.filtres

          :
          pktmon filter list
          

          Capture temps réel

          Démarrer une capture en temps réel :

          pktmon start --etw -m real-time
          

          Arrêter la capture :

          pktmon stop
          

          Capture vers un fichier

          Démarrer l'enregistrement :

          pktmon start --capture --pkt-size 0
          

          Arrêter :

          pktmon stop
          

          Fichier généré :

          PktMon.etl
          

          Export de capture

          Conversion en texte

          pktmon format PktMon.etl -o Capture.txt
          

          Conversion Wireshark

          pktmon etl2pcap PktMon.etl -o Capture.pcapng
          

          Exemples de lecture

          Trafic entrant

          Direction Rx
          192.168.1.10.50000 > 10.0.0.10.20500
          

          Signification :

          Client  : 192.168.1.10
          Port    : 50000
          
          Serveur : 10.0.0.10
          Port    : 20500
          

          Le serveur reçoit lesun paquets.

          paquet. L'application
          Micro-Sesame

          Trafic reçoitsortant

          les
          Direction données.
          Tx Une10.0.0.10.20500 réponse> est192.168.1.10.50000 renvoyée

          Le serveur répond au client.

          Aucun
          pare-feu

          Validation ned'un bloqueflux lefonctionnel

          flux.
          Rx
          
          192.168.1.10.50000 > 10.0.0.10.20500 Tx 10.0.0.10.20500 > 192.168.1.10.50000

          Interprétation :

          ✓ Trafic reçu
          ✓ Application joignable
          ✓ Réponse envoyée
          

          VérifierFiltrer qu'par adresse IP

          Capturer uniquement une IP :

          pktmon filter add -i 192.168.1.10
          

          Capturer plusieurs IP :

          pktmon filter add -i 192.168.1.10
          pktmon filter add -i 192.168.1.20
          

          Capture pour analyse Wireshark

          Méthode recommandée :

          pktmon filter remove
          
          pktmon filter add -p 20500
          
          pktmon start --capture --pkt-size 0
          

          Faire le test.

          pktmon stop
          

          Convertir :

          pktmon etl2pcap PktMon.etl -o Capture.pcapng
          

          Ouvrir directement dans Wireshark.


          Rechercher une application écouteliée surà leun port 20500

          Méthode 1UDP

          Get-NetUDPEndpoint |
          Where-Object LocalPort -eq 20500
          

          Exemple :

          TCP

          LocalAddressGet-NetTCPConnection |
          Where-Object LocalPort OwningProcess-eq ------------ --------- -------------
          0.0.0.0      20500     2308443
          

          Identifier le

          Associer un PID à un processus

          Get-Process -Id 23081234
          

          ouOu :

          (Get-Process -Id 2308)1234).Path
          

          Résultat attendu :

          C:\MICRO-SESAME\MICRO-SESAME_2024.3.15\prog\SE_DRVUTL.EXEProgram Files\Application\App.exe
          

          Vérifier lesrapidement règles dule pare-feu Windows

          Rechercher

          Règles unecontenant règleun existanteport :

          Get-NetFirewallRule |
          Where-Object DisplayName -match "20500|SESAME"20500"
          

          Ports

          Créerouverts une règle dédiée

          :
          New-NetFirewallRuleGet-NetFirewallPortFilter `|
          Where-Object LocalPort -DisplayName "MICRO-SESAME - SE_DRVUTL - UDPeq 20500 Entrant" `
              -Description "Autorise les communications UDP du service Micro-Sesame" `
              -Direction Inbound `
              -Action Allow `
              -Program "C:\MICRO-SESAME\MICRO-SESAME_2024.3.15\prog\SE_DRVUTL.EXE" `
              -Protocol UDP `
              -LocalPort 20500 `
              -Profile Domain
          

          CapturerWorkflow le trafic avec PKTMONrecommandé

          Nettoyer1. Supprimer les filtres

          pktmon filter remove
          

          2.

          Ajouter un filtre sur le port

          pktmon filter add -p 20500
          

          3.

          Démarrer la capture en temps réel

          pktmon start --etw -m real-time
          

          4. Réaliser le test applicatif

          5. Vérifier

          Rx uniquement
          

          → Requête reçue.

          Rx + Tx
          

          → Communication bidirectionnelle.

          Aucune trace
          

          → Le trafic n'arrive pas sur le serveur.

          6. Arrêter la capture

          pktmon stop
          

          InterprétationCommandes desessentielles résultatsà retenir

          Cas n°1 : Le serveur reçoit le paquet

          Exemple :

          Direction Rx
          10.225.12.216.52097 > 10.208.9.134.20500
          

          Signification :

          ✅ Le paquet arrive sur le serveur.


          Cas n°2 : Le serveur répond

          Exemple :

          Direction Tx
          10.208.9.134.20500 > 10.225.12.216.52097
          

          Signification :

          ✅ L'application reçoit la requête. ✅ L'application génère une réponse. ✅ Le serveur renvoie un paquet.


          Cas n°3 : Réception sans réponse

          Direction Rx
          10.225.12.216 > 10.208.9.134
          

          Aucune ligne :

          Direction Tx
          

          Signification :

          ⚠️ Le serveur reçoit le paquet mais ne répond pas.

          Causes possibles :

            Application arrêtée. Application non liée au port. Requête invalide. Filtrage interne de l'application. Adresse IP non autorisée.

            Cas n°4 : Réponse visible dans PKTMON

            Exemple réel :

            Direction Rx
            10.200.111.3.20500 > 10.208.9.134.20500
            
            Direction Tx
            10.208.9.134.20500 > 10.200.111.3.20500
            

            Conclusion :

            ✅ Flux fonctionnel.

            Le serveur reçoit la requête et répond.


            Vérifier les rejets du pare-feu Windows

            Rechercher les événements de blocage

            Get-WinEvent -LogName Security |
            Where-Object Id -eq 5157
            

            L'événement 5157 indique qu'un paquet réseau a été bloqué.


            Export d'une capture PKTMON

            Démarrer une capture

            pktmon start --capture --pkt-size 0
            

            Arrêter la capture

            pktmon stop
            

            Générer un fichier texte

            pktmon format PktMon.etl -o C:\Temp\PktMon.txt
            

            Générer un fichier PCAPNG

            Compatible Wireshark.

            pktmon etl2pcap PktMon.etl -o C:\Temp\Capture.pcapng
            

            Méthode de diagnostic recommandée

            Étape 1

            Vérifier l'écoute :

            Get-NetUDPEndpoint | Where-Object LocalPort -eq 20500
            

            Étape 2

            Identifier l'application :

            (Get-Process -Id <PID>).Path
            

            Étape 3

            Démarrer PKTMON :

            pktmon filter remove
            
            pktmon filter add -p 20500
            
            pktmon start --etw -m real-time
            
            
            pktmon
            start

            Étape--capture 4

            --pkt-size

            Faire0 lepktmon teststop depuispktmon leformat client.

            PktMon.etl
            -o

            ÉtapeCapture.txt 5

            pktmon

            Analyseretl2pcap :

            PktMon.etl

            Cas-o A :

            Rx uniquementCapture.pcapng
            

            => Le serveur reçoit mais ne répond pas.

            Cas B :

            Rx + Tx
            

            => Le serveur communique correctement.

            Cas C :

            Aucun paquet
            

            => Problème réseau ou routage.


            Exemple d'analyse complète

            Client :

            10.225.12.216
            

            Serveur :

            10.208.9.134
            

            Capture :

            Rx
            10.225.12.216.52097 > 10.208.9.134.20500
            
            Tx
            10.208.9.134.20500 > 10.225.12.216.52097
            

            Conclusion :

            ✅ Le client envoie. ✅ Le serveur reçoit. ✅ Micro-Sesame traite la requête. ✅ Le serveur répond. ✅ Le port UDP 20500 fonctionne.

            Si l'utilisateur constate toujours un dysfonctionnement malgré ces traces, le problème se situe alors côté client ou sur le chemin retour réseau.