Comment capturer et inspecter les paquets réseau dans Windows Server
Lors du dépannage de problèmes de connexion ou d'application délicats, il peut être très utile de voir ce qui est transmis sur le réseau. À l'origine, Microsoft proposait le Moniteur réseau Microsoft, qui a été remplacé par Microsoft Message Analyzer. Malheureusement, Microsoft a interrompu Microsoft Message Analyzer et supprimé ses liens de téléchargement. Actuellement, seul l'ancien Microsoft Network Monitor est disponible.
Bien sûr, vous pouvez utiliser des outils tiers pour effectuer des captures réseau, comme WireShark. Bien que certains outils tiers puissent offrir une meilleure expérience, Microsoft Network Monitor tient toujours le coup. Dans cet article, nous allons voir comment capturer et inspecter des paquets à l'aide de la dernière version disponible de Microsoft Network Monitor, l'un des outils les plus populaires du marché.
Bien que j'aurais pu utiliser WireShark, j'ai trouvé que l'interface et la convivialité de Microsoft Network Monitor, hors de la boîte, sont beaucoup plus faciles à utiliser. La même chose peut être accomplie dans WireShark, mais vous devrez peut-être faire beaucoup plus de configuration dans l'interface.
Sommaire
Capture de paquets à l'aide de Microsoft Network Monitor
Tout d'abord, nous devons installer Microsoft Network Monitor, vous pouvez localiser le téléchargement ici, puis procéder à son installation. Une fois que Microsoft Network Monitor est installé, allez-y et lancez le programme. Une fois lancé, vous cliquerez sur Nouvelle capture.
Ensuite, vous voudrez démarrer la surveillance en cliquant sur le bouton Démarrer. Cela lancera instantanément la capture et vous verrez des conversations commencer à apparaître sur le côté gauche.
Si vous constatez que vous obtenez un message d'erreur indiquant qu'aucun adaptateur n'est lié, vous devez exécuter Microsoft Network Monitor en tant qu'administrateur. De plus, si vous venez de l'installer, vous devrez peut-être redémarrer.
L'un des grands avantages de l'utilisation de Microsoft Network Monitor est qu'il regroupe très facilement vos conversations réseau sur le côté gauche. Cela rend la recherche de processus spécifiques beaucoup plus facile à trouver et à approfondir.
L'élargissement de l'un des signes plus vous montrera l'ensemble spécifique de «conversations» que le moniteur réseau peut avoir capturé et regroupé sous un processus.
Filtrage du trafic
Vous constaterez rapidement qu'avec toutes ces données qui arrivent, vous devrez filtrer plus facilement le bruit. Un exemple d'utilisation d'un filtre est le DnsAllNameQuery
, sous la section DNS des filtres standard. En ajoutant cette ligne à la section du filtre d'affichage et en cliquant sur Appliquer, vous ne pourrez afficher que les paquets qui sont des requêtes DNS, comme ci-dessous.
Filtres de construction
La création de filtres ou la modification des filtres intégrés est très simple. Dans le champ Filtre d'affichage, il existe plusieurs façons de créer des filtres. En entrant un nom de protocole et en le suivant par un .
(point), vous verrez une saisie automatique des valeurs de champ possibles à comparer. Utilisation de l'opérateur de comparaison standard de ==
nous pouvons voir si certaines valeurs sont égales. Nous pouvons même créer des expressions multiples en utilisant des opérateurs logiques tels que and
et or
. Un exemple de ce à quoi cela ressemble est ci-dessous.
DNS.QuestionCount AND
DNS.ARecord.TimeToLive == 14
Il existe également quelques méthodes disponibles, telles que contains()
et UINT8()
. Vous pouvez voir en utilisant la méthode contains ci-dessous pour filtrer uniquement les enregistrements DNS qui contiennent (google.com)(http://google.com)
et un TimeToLive de 14
.
DNS.QuestionCount AND
DNS.ARecord.TimeToLive == 14 AND
DNS.QRecord.QuestionName.contains("google.com")
Comme vous pouvez le constater, il existe plusieurs façons de combiner les filtres pour les rendre utiles et pratiques à utiliser. C'est un excellent moyen de renvoyer uniquement les données qui vous intéressent, d'autant plus que la capture de paquets peut devenir assez volumineuse. Dans la section suivante, nous examinons quelques exemples plus utiles.
Exemples de filtres
Quelques exemples pratiques, au-delà de ceux intégrés par défaut, vous aideront grandement à comprendre comment accéder aux données utiles dont vous avez besoin.
Filtrage par numéro de port
Bien qu'il soit possible d'utiliser le protocole HTTP pour filtrer, l'utilisation de la méthode suivante vous permet de prendre en compte les ports personnalisés, tels que 8080
ou 8443
, ce qui est particulièrement utile lors du dépannage.
// Filter by TCP Port Number
tcp.port == 80 OR Payloadheader.LowerProtocol.port == 80
tcp.port == 443 OR Payloadheader.LowerProtocol.port == 443
Les trames TCP qui ont été fragmentées sont réassemblées et insérées dans une nouvelle trame dans la trace qui contient un en-tête spécial nommé, Payloadheader
. En recherchant les deux, nous pouvons nous assurer que nous obtenons toutes les données que nous recherchons ici.
Trouver des cadres de négociation SSL
Lors du dépannage, vous devrez peut-être comprendre quelles connexions SSL sont tentées d'être négociées. Bien que vous ne puissiez pas décrypter le trafic interne, cela vous aidera à trouver les serveurs que la connexion tente d'utiliser.
// Filter by SSL Handshake
TLS.TlsRecLayer.TlsRecordLayer.SSLHandshake.HandShake.HandShakeType == 0x1
Rechercher les retransmissions TCP et les retransmissions SYN
Pour résoudre les problèmes de téléchargement et de téléchargement de fichiers, vous pouvez voir si de nombreuses retransmissions se produisent qui pourraient affecter les performances.
Property.TCPRetransmit == 1 || Property.TCPSynRetransmit == 1
Assurez-vous que les conversations sont activées, ce filtre dépend de cette fonctionnalité.
Lecture de trames et de données hexadécimales
Par défaut, la disposition des fenêtres comporte deux volets inférieurs dédiés aux détails du cadre et aux détails hexadécimaux. Dans les détails du cadre, chaque paquet est divisé en ses composants. De l'autre côté se trouvent les détails hexadécimaux qui sont les octets bruts et le décodage. Lorsque vous sélectionnez une section différente dans les détails du cadre, la même section dans le code Hex sera également mise en surbrillance.
Conclusion
L'exécution de traces réseau est très simple avec la dernière version de Windows. Bien que Microsoft ait choisi d'arrêter ou de désapprouver leurs outils créés en interne, certains prospèrent toujours. Il existe de nombreux autres, tels que WireShark, mais Microsoft Network Monitor facilite toujours l'analyse et la compréhension des informations sur les paquets qui sont capturées.