Guide de l’utilitaire Netsh : traçage et au-delà

Introduction

Donnez un bref aperçu de l’utilitaire Netsh et de son importance dans la gestion réseau. Mettez en avant ses principales fonctionnalités, telles que la prise en charge des scripts, l’exécution à distance et les capacités de dépannage.



Optimisation du contenu

1. Qu’est-ce que l’utilitaire Netsh ?

Netsh (Network Shell) est un puissant outil de ligne de commande Windows pour configurer et dépanner les paramètres réseau. Il interagit avec les composants système via des bibliothèques de liens dynamiques (DLL) et prend en charge divers contextes comme advfirewall, wlan, et winhttp.

2. Syntaxe générale des commandes Netsh

netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [Domain\]UserName] [-p Password|*] [Command | -f ScriptFile]

Expliquez brièvement les paramètres de syntaxe en mettant en avant leurs cas d’utilisation.

3. Approfondissement du traçage Netsh

Collecte des traces :
Utilisez le contexte netsh trace pour capturer les événements et paquets réseau à des fins de diagnostic.

  • Commande pour afficher les scénarios :
netsh trace show scenarios
  • Pour afficher les fournisseurs d’un scénario spécifique :
netsh trace show scenario <Scenario name>

Paramètres importants :
Détaillez les paramètres clés tels que scenario, capture, report, persistent, traceFile, etc., avec des exemples.

Commandes de traçage courantes :

  • Démarrer le traçage :
netsh trace start scenario=InternetClient capture=yes tracefile=C:\temp\trace.etl
  • Arrêter le traçage :
netsh trace stop

Options avancées :
Fournissez des exemples avancés de traçage avec des options telles que maxsize, filemode, et overwrite.

Convertir ETL en CAP :
Expliquez comment convertir les fichiers ETL pour les utiliser dans des outils comme Wireshark :

netsh trace convert input=trace.etl output=trace.cap


4. Filtrer les captures réseau avec Netsh

Filtres de base :
Mettez en avant les filtres couramment utilisés, tels que :

  • Capturer le trafic vers/depuis une adresse IPv4 spécifique :
IPv4.Address == x.x.x.x

Filtres spécifiques au protocole :

  • Capturer le trafic DNS :
DNS

Filtres avancés :
Fournissez des exemples comme la capture des paquets de poignée de main TCP :

TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0


5. Principaux contextes Netsh et cas d’utilisation

Configuration IP :

  • Définir une adresse IP statique :
netsh interface ip set address "Ethernet" static 10.0.0.5 255.255.255.0 10.0.0.1

Réinitialiser Winsock et la pile TCP/IP :

  • Réinitialiser la pile TCP/IP :
netsh int ip reset

Gérer le pare-feu :

  • Ajouter une règle de pare-feu :
netsh advfirewall firewall add rule name="Allow Ping" dir=in action=allow protocol=icmpv4

Configurer le proxy WinHTTP :

  • Définir le proxy :
netsh winhttp set proxy "proxy:8080" "<local>"

Filtres netmon couramment utilisés pour analyser les captures réseau :

Filtres de base

FiltreObjectif
IPv4.Address == x.x.x.xCapture le trafic vers/depuis une adresse IPv4 spécifique.
IPv4.SourceAddress == x.x.x.xFiltre le trafic provenant d’une adresse IP source spécifique.
IPv4.DestinationAddress == x.x.x.xFiltre le trafic dirigé vers une adresse IP de destination spécifique.
IPv6.Address == xxxx::xxxxFiltre le trafic IPv6 vers/depuis une adresse spécifique.
TCP.Port == 80Capture le trafic sur un port TCP spécifique (par exemple, 80 pour HTTP).
UDP.Port == 53Capture le trafic sur un port UDP spécifique (par exemple, 53 pour DNS).

Filtres spécifiques au protocole

FiltreProtocoleDescription
DNSDNSCapture les requêtes et réponses DNS.
HTTPHTTPCapture le trafic HTTP (peut être filtré davantage par méthodes).
TCPTCPCapture tout le trafic TCP.
UDPUDPCapture tout le trafic UDP.
SMB2SMBCapture le trafic de partage de fichiers SMBv2.
KerberosKerberosCapture les paquets d’authentification Kerberos.
LDAPLDAPCapture les requêtes/réponses LDAP.

Filtres de conversation

FiltreObjectif
IPv4.SourceAddress == x.x.x.x AND IPv4.DestinationAddress == y.y.y.yFiltre le trafic entre deux hôtes spécifiques.
TCP.SourcePort == 12345 AND TCP.DestinationPort == 80Filtre une session client-serveur spécifique.

Filtres de couche applicative

FiltreExemple
HTTP.Request.Method == “GET”Capture uniquement les requêtes GET.
HTTP.Host == “example.com”Filtre le trafic HTTP vers un domaine spécifique.
DNS.QryName == “example.com”Filtre les requêtes DNS pour un domaine spécifique.
SMB2.CreateRequest.FileName == “filename.txt”Capture l’accès aux fichiers dans le trafic SMB.

Filtres avancés

FiltreObjectif
TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0Capture les paquets SYN (début de la poignée de main TCP).
TCP.Flags.FIN == 1Capture les paquets FIN (fin de la session TCP).
TCP.Flags.Reset == 1Capture les paquets RST TCP (réinitialisations de connexion).
Frame.Length > 1000Capture uniquement les paquets de plus de 1000 octets.

Principaux contextes Netsh et cas d’utilisation

Définir la configuration IP

netsh interface ip set address “Ethernet” static 10.0.0.5 255.255.255.0 10.0.0.1
netsh interface ip set dns “Ethernet” static 1.1.1.1
netsh interface ip set address “Ethernet” dhcp

Réinitialiser Winsock et la pile TCP/IP

netsh int ip reset
netsh winsock reset

Gérer le pare-feu

netsh advfirewall firewall add rule name=”Allow Ping” dir=in action=allow protocol=icmpv4
netsh advfirewall firewall add rule name=”Allow RDP” dir=in action=allow protocol=TCP localport=3389

netsh advfirewall set allprofiles state on
netsh advfirewall export “C:\\backup\\fwconfig.wfw”

Proxy WinHTTP

netsh winhttp show proxy
netsh winhttp set proxy “proxy:8080” “<local>”
netsh winhttp reset proxy


6. Conclusion

Résumez la polyvalence de Netsh en tant qu’outil de gestion et de dépannage réseau. Encouragez les lecteurs à explorer davantage de contextes et de commandes en utilisant la documentation officielle de Microsoft.

Laisser un commentaire