Débogage réseau avec Microsoft

Demain, je serai présent à Insomni’Hack 2011 en tant que conférencier puis pour y participer… On verra bien pour le concours, mais en ce qui concerne mon intervention, j’ai prévu de vous parler de la sécurité oldschool ! En attendant, voici un billet sans aucun rapport, qui n’attendait que moi pour être publié 😉

Ces dernières semaines, j’ai eu à traiter différents problèmes réseau qui nécessitaient du débogage et de l’analyse approfondie. J’avais l’habitude d’utiliser l’analyseur réseau OpenSource Wireshark, mais l’un de mes collègues m’a proposé de tester l’équivalent développé chez Microsoft : Network Monitor 3.4. Il n’y a pas à dire, c’est plutôt pas mal, et j’oserai dire qu’il est même bien mieux que son équivalent open-source et multiplateformes.

Microsoft Network Monitor 3.4

Outre le fait qu’il tourne parfaitement bien sous Windows (encore heureux) tant en 32 bits qu’en 64 bits, il est capable de décoder de nombreux formats propriétaires Microsoft et se révèle également excellent en mode Monitor Wifi. Pas besoin d’aller acheter une onéreuse carte Wifi spéciale de type AirPcap (obligatoire avec Wireshark sous Windows), car Network Monitor sait parfaitement décoder les trames de beacon et autres joyeusetés bas-niveau transmis entre le point d’accès Wifi et ses voisins.

Qui dit intégration à Windows, dit qu’il est également en mesure d’aller chercher les noms des processus et services qui génèrent du trafic réseau, ainsi la fenêtre permet de trier les process et de regarder ce qu’ils font précisément. Un point de plus par rapport à Wireshark, et cela permet donc de faire d’une pierre deux coups, en s’épargnant l’installation de logiciels de monitoring de process, tels que oSpy (qui ne fonctionne d’ailleurs pas bien en 64 bits, contrairement à Network Monitor).

Le programme d’installation est fourni avec des centaines de « parsers » de format, capables de décoder de nombreux protocoles, adresses IP en v4 et v6, types de documents et j’en passe. Outre tous les protocoles réseau, Microsoft a naturellement intégré des décodeurs pour leurs propres « standards » et types de données, ce qui est franchement très pratique. A titre d’exemple, la collection de parsers par défaut intègre 420 fichiers, 1379 tables, 380 protocoles, 3253 structures… La cerise sur le gâteau est que tous ces décodeurs sont en format texte, et facilement adaptables ou modifiables directement avec l’outil, comme on peut le voir ici :

Pour les passionné-e-s, il y a également la possibilité de développer des plugins et autres modules externes capables de s’interfacer avec Network Monitor, il y a un SDK fourni pour cela que l’on trouve sur le site communautaire Codeplex.com (celui qui fournit également les parseurs livrés avec l’outil). Ces extensions sont appelées des « Experts », curieuse dénomination, mais bref…

Sur le plan intégration, l’outil installe un driver réseau à la manière de LibPcap « Microsoft Network Monitor 3 Driver », que l’on trouve donc sous les propriétés de chacune des interfaces réseau. Il est possible de le désactiver, mais à priori il est transparent niveau performances. D’ailleurs Microsoft se vante sur le blog de l’outil que ce dernier est capable de capturer du trafic gigabit/s sans perdre de paquets, c0ntrairement… aux concurrents 😉

Allez, une cerise sur le gâteau, comme si tout ce que j’ai donné n’était pas assez… Microsoft a annoncé que les parsers et les plugins « experts » sont désormais OpenSource.

Microsoft Visual RoundTrip Analyzer

Dans la foulée, Microsoft a un autre outil bien pratique que j’ai découvert récemment. Microsoft Visual RoundTrip Analyzer est également un sniffer réseau, mais qui ne décode que les flux HTTP pour faire des analyses et des statistiques sur les sites web distants. Comme l’outil sniffe le réseau, il n’est pas indispensable d’utiliser Internet Explorer, l’analyse via n’importe quel navigateur est donc possible, ce qui est très sympa. A noter qu’il s’interface parfaitement avec Network Monitor ; un article du blog précité explique comment utiliser les API de Network Monitor pour piloter le VRTA (Visual RoundTrip Analyzer, vous l’aurez compris).

Outre les tests de bande passante, il cherche des défauts sur les pages qui pourraient ralentir l’affichage. Indispensable pour optimiser un site, j’ai testé sur quelques sites et les résultats ont été assez flagrants (d’autant plus qu’il donne une note au site, et alloue des scores par type de test effectué, de A à F) avec de nombreux sites plus proche du « F » que du « A » en terme de notation !

Internet Explorer 8

Enfin, il ne faut pas oublier que Microsoft a intégré des outils de débogage dans Internet Explorer 8… si vous connaissez la géniale extension Firebug pour Firefox, vous devriez être surpris par la similarité avec l’extension livrée par Microsoft, que l’on met en route à l’aide de la touche F12… comme Firebug (!)

L’extension intègre des fonctionnalités présentes sur les deux extensions Firefox Firebug et Web Developer , en permettant parmi d’autres choses d’afficher le code source de la page de manière interactive, l’encadrement de zones ou types d’objets sur la page, le recadrage de la page, un profileur Javascript, et bien d’autres choses que les afficionados de Firebug connaissent déjà.

Toujours bon à savoir lorsque l’on doit déboguer une page sur un poste où Firefox n’est pas installé.

Comments

Comment by Vincent on 2011-03-03 14:05:06 +0200

Merci pour ton article, Bruno.

Pour de l’analyse réseau avec des outils Windows, il y a aussi Networkminer:

http://sourceforge.net/projects/networkminer/

Comment by marc on 2011-03-04 08:31:11 +0200

Superbe panorama, clair et didactique.

Merci Bruno.

Une chose au moins est certaine : c’est pas via l’horrible « tap » de la première photo que les captures ont été effectuées… c’t’un montage à te faire péter les impédances et flinguer tout échange sur un réseau gigabit ;- )))))))

Marc

ps : à ce soir

Comment by yan on 2011-03-05 07:26:01 +0200

J’avais essayé une version il y a fort longtemps… et ca a bien progressé. On pourra juste regretter, mais on sort de l’aspect purement debug, que les autres outils d’origine linux (aircrack…) ne puissent s’accrocher au driver netmon. Même Abel&Cain n’offre pas cette possibilité. Même les fichiers de capture .cap n’y semblent pas exploitables. C’est un peu dommage de ne prévu d’export pcap, surtout quand c’est l’aiguillon ethereal/wireshark qui semble avoir motivé microsoft.

Comment by Bruno Kerouanton on 2011-03-07 17:29:01 +0200

@Vincent: Merci pour le lien, c’est un outil que je ne connaissais pas. Pour celles et ceux qui auraient la flegme de cliquer, c’est un outil orienté forensics, qui analyse un fichier .pcap pour en extraire les images, credentials, liens, requêtes DNS et j’en passe qui peuvent aider à élucider différentes affaires. A suivre, en tout cas.

@Marc: A mon avis également, ça m’a l’air plutôt bricole… A 1Gbit/s c’est certain que cela ne marchera pas, mais bon ! Tiens, dans la série bricolo, j’ai fait de la soudure CMS pour la 1ère fois de ma vie ce week-end, loupe binoculaire en appui… c’est loin d’être facile, on dira ce qu’on veut !