Votre réseau est l'épine dorsale de vos opérations commerciales. Assurez-vous de savoir ce qui se passe au fond.
À bien des égards, le paysage des entreprises numériques a connu une révolution ou deux. Ce qui a commencé comme simple Scripts CGI écrit en Perl a maintenant fleuri dans des déploiements en cluster fonctionnant entièrement automatisés sur Kubernetes et d'autres frameworks d'orchestration (désolé pour le jargon lourd - je ne l'invente pas du tout; c'est juste la façon dont les choses sont ces jours-ci!).

Mais je ne peux m'empêcher de sourire en pensant que les fondamentaux sont toujours les mêmes que dans les années 1970.
Tout ce que nous avons, ce sont des abstractions sur des abstractions supportées par des câbles physiques et durs qui forment le réseau (d'accord, il y a des réseaux virtuels, c'est bien, mais vous voyez l'idée). Si nous voulons avoir de la fantaisie, nous pouvons diviser le réseau en couches selon le modèle OSI, mais tout est dit et fait, nous avons toujours, toujours affaire à Protocoles TCP / IP (avertissement, lecture lourde à venir!), pings, routeurs, qui ont tous un objectif en commun - la transmission de paquets de données.
Alors, qu'est-ce qu'un paquet réseau?
Peu importe ce que nous faisons - bavarder, le streaming vidéo, jouer, surfer, acheter des trucs — c'est essentiellement un échange de paquets de données entre deux ordinateurs (réseaux). Un « paquet » est la plus petite unité d'informations circulant dans un réseau (ou entre des réseaux), et il existe une méthode bien définie pour construire et vérifier les paquets réseau (au-delà de la portée de cet article, mais si vous vous sentez aventureux, voici PLUS).

En termes plus simples, chaque paquet représente un maillon de la chaîne, et est correctement transmis à la source et validé à la destination. Même si un seul paquet arrive ou commande, le processus est suspendu jusqu'à ce que tous les paquets dans le bon ordre aient été reçus, et alors seulement ils sont rassemblés pour former les données qu'ils représentaient à l'origine (une image, par exemple).
Maintenant que nous comprenons ce qu'est un réseau, cela devient de comprendre ce que fait un analyseur de réseau. C'est un outil qui vous permet de jeter un coup d'œil sur des paquets individuels sur votre réseau.
Mais pourquoi voudriez-vous vous donner cette peine? Discutons-en ensuite.
Pourquoi avons-nous besoin d'analyser les paquets?
Il semble que les paquets sont à peu près les éléments de base d'un flux de données réseau, tout comme les atomes sont la base de toute matière (oui, je sais, ce ne sont pas de vraies particules fondamentales, mais c'est une assez bonne analogie pour nos besoins) . Et quand il s'agit d'analyser des matériaux ou des gaz, nous ne nous soucions jamais de ce que fait un atome individuel; alors, pourquoi s'inquiéter d'un seul paquet réseau au niveau individuel? Que pouvons-nous savoir à part ce que nous savons déjà?
Il est difficile de vendre l'importance de l'analyse au niveau des paquets lorsque vous n'avez pas été mordu dans le dos auparavant, mais je vais essayer.
L'analyse des paquets signifie se salir les mains et se pencher dans la plomberie pour comprendre quelque chose. En règle générale, vous devez analyser les paquets réseau lorsque tout le reste a échoué. En règle générale, cela inclut des scénarios apparemment désespérés comme suit:
- Perte inexplicable de données secrètes malgré aucune violation évidente
- Diagnostiquer les applications lentes lorsqu'il ne semble y avoir aucune preuve
- S'assurer que votre ordinateur / réseau n'a pas été compromis
- Prouver ou réfuter qu'un attaquant n'est pas ferroutage hors de votre WiFi
- Comprendre pourquoi votre le serveur est le goulot d'étranglement malgré le faible trafic
Dans l'ensemble, l'analyse des paquets relève de certains types de preuves concrètes. Si vous savez comment effectuer une analyse de paquets et avoir un instantané, vous pouvez vous éviter d'être accusé à tort d'un piratage ou simplement d'être blâmé en tant que développeur incompétent ou administrateur réseau.

Concernant une vraie histoire, je pense que ce commentaire sur le blog a trouvé ici est exceptionnel (reproduit ici au cas où):
Une application critique pour mon entreprise présentait des problèmes de performances, tombait sur son visage dans les déploiements clients. Il s'agissait d'une application de valorisation des actions utilisée à la tête des usines de téléscripteurs des sociétés financières du monde entier. Si vous aviez un 401 (k) vers 2000, cela dépendait probablement de cette application. J'ai fait une analyse du type que vous avez décrit, en particulier le comportement TCP. J'ai identifié le problème comme étant dans l'implémentation de TCP par le fournisseur du système d'exploitation. Le comportement bogué était que chaque fois que la pile d'envoi passait en contrôle de congestion, elle ne récupérait jamais. Cela a abouti à une fenêtre d'envoi comiquement petite, parfois juste quelques multiples de MSS.
Il a fallu un certain temps pour se battre avec les gestionnaires de compte et les développeurs du fournisseur du système d'exploitation qui n'ont pas compris le problème, mon explication, ou que le problème * ne pouvait pas * être dans l'application car l'application ignore parfaitement les machinations TCP. C'était comme parler à un mur. j'ai commencé à carré un avec chaque conférence téléphonique. Finalement, j'ai eu au téléphone un gars avec qui j'ai pu avoir une bonne discussion. Il s'avère qu'il a mis les extensions RFC1323 dans la pile ! Le lendemain, j'avais entre les mains un correctif pour le système d'exploitation et le produit fonctionnait parfaitement à partir de ce moment-là.
Le développeur a expliqué qu'il y avait un bogue qui provoquait la mauvaise catégorisation des ACK entrants * avec des charges utiles * comme DUPACK lorsque la pile était en contrôle de congestion.
Cela ne se produirait jamais avec des applications semi-duplex comme HTTP, mais l'application que je supportais envoyait des données de manière bidirectionnelle sur le socket à tout moment.
Je n'avais pas une tonne de soutien de la direction à l'époque (mon responsable m'a même crié après avoir «toujours voulu utiliser un renifleur» pour résoudre les problèmes), et personne d'autre que moi ne regardait l'implémentation TCP du fournisseur du système d'exploitation comme source du problème. Lutter moi-même contre le correctif du fournisseur du système d'exploitation a rendu cette victoire particulièrement agréable, m'a valu une tonne de capital pour faire mon propre truc et a conduit à l'apparition des problèmes les plus intéressants sur mon bureau.

Au cas où vous n'auriez pas envie de lire ce bout de texte, ou si cela n'avait pas beaucoup de sens, ce monsieur faisait face à des problèmes de performance qui étaient imputés à sa candidature, et la direction, comme prévu, ne prêtait aucun soutien. . Ce n'est qu'une analyse approfondie des paquets qui a prouvé que le problème n'était pas dans l'application, mais dans la façon dont le système d'exploitation gérait le protocole réseau!
Le correctif n'était pas une mise au point de l'application, mais un correctif des développeurs du système d'exploitation! 😮
Oh punaise . . . Sans analyse au niveau des paquets, où pensez-vous que cette personne serait? Probablement hors de son travail. Si cela ne vous convainc pas de l'importance de l'analyse des paquets (également appelée reniflage de paquets), je ne sais pas ce qui le fera. 🙂
Maintenant que vous savez que l'analyse des paquets est une superpuissance, j'ai une bonne nouvelle: ce n'est pas du tout difficile à faire!
Grâce à des outils de détection de paquets puissants mais simples à utiliser, glaner des informations à partir de l'analyse au niveau des paquets peut être aussi simple que de lire un tableau de bord des ventes. Cela dit, vous aurez besoin d'un peu plus qu'une connaissance superficielle de ce qui se passe à l'intérieur d'un réseau. Mais là encore, il n'y a pas de science sorcier ici, pas de logique tordue à maîtriser – tout simplement du bon sens.
Si vous commencez à lire la documentation de l'un de ces outils au fur et à mesure que vous les utilisez sur votre réseau, vous serez bientôt un expert. 😀
Wireshark
Wireshark est un ancien projet (il a commencé en 1998) qui est à peu près la norme de l'industrie lorsqu'il s'agit de plonger profondément dans les réseaux. C'est impressionnant quand on considère qu'il s'agit uniquement d'une organisation gérée par des bénévoles, soutenue par de généreux sponsors. Wireshark reste open-source (pas sur GitHub, mais le code peut être trouvé ici) et a même une technologie conférence à son nom!

Parmi les nombreuses fonctionnalités de Wireshark figurent:
- Prise en charge de centaines de protocoles réseau.
- Interopérable avec de nombreux formats de fichiers (tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (compressé et non compressé), Sniffer® Pro et NetXray®, etc.).
- Exécutez sur pratiquement toutes les plates-formes (Linux, Windows, macOS, Solaris, FreeBSD, etc.).
- Lecture de données en direct à partir d'Ethernet, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, entre autres.
- Décompression gzip à la volée.
- Charges de protocoles de décryptage pris en charge (WPA / WPA2, SNMPv3, etc.)
- Analyse VoIP approfondie
- Règles de coloration pour une numérisation visuelle plus rapide
Découvrez ce fantastique cours en ligne pour vous apprendre à maîtriser Wireshark.
Vous recherchez Wireshark dans votre terminal? Bien sûr, essayez Termeshark
tcpdump
Si vous êtes de la vieille école (lisez un junkie hardcore en ligne de commande), tcpdump est pour toi.
C'est une autre de ces emblématiques Utilitaires Linux (comme curl) qui reste toujours aussi pertinent, à tel point que presque tous les autres outils «plus sophistiqués» s'appuient sur lui. Comme je l'ai déjà dit, il n'y a pas d'environnement graphique, mais l'outil compense largement.
Mais l'installer peut être pénible; alors que tcpdump est fourni avec la plupart des distributions Linux modernes, si la vôtre ne l'est pas, vous devrez alors construire à partir de la source.

Les commandes tcpdump sont courtes et simples, destinées à résoudre un problème particulier tel que:
- Affichage de toutes les interfaces disponibles
- Capturer une seule des interfaces
- Enregistrement des paquets capturés dans un fichier
- Capturer uniquement les paquets ayant échoué
. . . etc.
Si vos besoins sont simples et que vous avez besoin d'exécuter une analyse rapide, tcpdump peut être une excellente option à considérer (surtout si vous tapez tcpdump
et constatez qu'il est déjà installé!). Consultez cet article en temps réel exemples de commande tcpdump.
Tproxy
Proxy est un outil de ligne de commande simple et open source pour proxy les connexions TCP sur le réseau. Tproxy est écrit dans le langage de programmation Go et est un outil de ligne de commande Go, et emballé sous forme de binaire Go afin qu'il soit disponible sur toutes les plates-formes Linux et macOS modernes.
L'image ci-dessous montre la ligne de commande pour surveiller les connexions MySQL :

Son principal cas d'utilisation consiste à proxy les connexions HTTP et à inspecter le contenu de la requête HTTP et les réponses. Il peut également être utilisé pour proxy d'autres protocoles, comme CHAUSSETTES ou TCP. Il peut être utilisé pour proxy les connexions TCP entre deux hôtes, ou pour analyser le trafic sur une connexion en direct. Il est utile pour déboguer et tester des applications qui utilisent TCP comme protocole de transport et pour créer des services proxy TCP.
Il a été écrit dans le but de fournir une interface facile à utiliser à l'utilitaire de ligne de commande tcpdump, permettant aux utilisateurs de proxy TCP connexions et d'effectuer d'autres analyses réseau avancées sans avoir besoin de comprendre le protocole TCP sous-jacent.
La ligne de commande ci-dessous affiche les connexions gRPC :

Il agit comme un proxy TCP, vous permettant de vous connecter à des services et applications distants comme si vous étiez sur la machine locale. Il permet de créer des services TCP personnalisés sur des hôtes distants, similaires à un proxy TCP inverse qui permet une variété d'améliorations de la sécurité, du dépannage et des performances lorsqu'il s'agit d'applications qui utilisent TCP.
Voici quelques autres utilisations de Tproxy
- Il est utile pour déboguer et optimiser les connexions TCP.
- Il est également utile pour comprendre le fonctionnement d'autres programmes proxy, tels que Burp Suite et ZAP.
- Il peut être utilisé pour proxy les connexions TCP entre deux hôtes, ou entre un hôte et un service TCP distant, comme une base de données ou un service Web.
- Surveillez les connexions MySQL et les connexions gRPC et vérifiez également la fiabilité de la connexion en termes de taux de retransmission et de RTT
La plupart des utilisateurs trouveront que Tproxy simplifie leur flux de travail et leur permet d'effectuer des analyses de réseau complexes et d'analyser des applications Web sans avoir à modifier l'application ou le réseau lui-même. L'outil est téléchargeable sur GitHub.
NetworkMiner
Se promouvoir en tant qu'outil d'analyse de réseau médico-légal (FNAT), NetworkMiner est l'un des meilleurs analyseurs au niveau des paquets que vous rencontrerez. C'est un outil open source qui peut analyser un réseau de manière passive et est livré avec une interface graphique impressionnante pour l'analyse qui peut afficher des images individuelles et d'autres fichiers transférés.

Mais ce n'est pas tout. NetworkMiner est livré avec d'excellentes autres fonctionnalités telles que:
- Prise en charge d'IPv6
- Analyse des fichiers PCAP
- Extraire les certificats X.509 du trafic crypté SSL
- Pcap sur IP
- Fonctionne avec plusieurs types de trafic, tels que FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3, etc...
- Empreinte digitale du système d'exploitation
- Localisation géographique IP
- Prise en charge des scripts de ligne de commande
Notez que certaines de ces fonctionnalités sont disponibles dans la version commerciale.
Fiddler
Contrairement aux autres renifleurs de réseau passifs, Violoneux est quelque chose qui se situe entre votre appareil et le monde extérieur et nécessite donc une certaine configuration (est-ce pour cela qu'ils l'ont appelé «Fiddler»? 😉).
C'est un outil gratuit personnalisable (utilisant FiddlerScript) qui a une histoire longue et distinguée, donc si votre objectif est de renifler le trafic HTTP / HTTPS comme un patron, Fiddler est la voie à suivre.

Vous pouvez faire beaucoup de choses avec Fiddler, surtout si vous êtes d'humeur à enfiler le sweat à capuche hacker:
- Manipulation de session: Extrayez les en-têtes HTTP ouverts et les données de session, en les modifiant comme vous le souhaitez.
- Tests de sécurité: vous permet de simuler des attaques de l'homme du milieu et de déchiffrer tout le trafic HTTPS pour vous.
- Test de performance: Analysez les temps de chargement de la page (ou de réponse de l'API) et voyez quelle partie de la réponse est le goulot d'étranglement.
Au cas où vous vous sentiriez perdu, le Documentation est très bon et est fortement recommandé.
WinDump
Si vous manquez la simplicité de tcpdump et que vous souhaitez l'amener à vos systèmes Windows, dites bonjour à WinDump. Une fois installé, il fonctionne à partir de la ligne de commande en tapant «tcpdump» de la même manière que l'utilitaire fonctionne sur les systèmes Linux.
Notez qu'il n'y a rien à installer en soi; WinDump est un binaire qui peut être exécuté immédiatement, à condition que vous ayez une implémentation de bibliothèque Pcap installée (npcap est recommandé car winpcap n'est plus en développement).
BruteShark
BruteRequin est un outil d'analyse judiciaire réseau (NFAT) efficace que vous pouvez utiliser pour traiter et inspecter le trafic réseau tel que les fichiers PCAP et capturer directement à partir des interfaces réseau.
Il comprend la reconstruction de sessions TCP, la création de cartes réseau, l'extraction de hachages de mots de passe fortement cryptés, la conversion de hachages au format Hashcat pour effectuer une attaque Brute Force hors ligne.
L'intention principale de ce projet est d'aider les administrateurs réseau et les chercheurs en sécurité chargés d'analyser le trafic réseau et d'identifier les faiblesses.
Il existe deux versions de BruteShark disponibles: une interface utilisateur graphique (GUI) pour Windows et une CLI outil pour Linux et Windows. Certains des projets inclus dans cette solution peuvent même être utilisés indépendamment pour analyser le trafic réseau sur les machines Windows et Linux.

BruteShark peut également effectuer diverses opérations telles que l'extraction de requêtes DNS, la gravure de fichiers, l'extraction d'appels VoIP (SIP, RTP), la création d'un diagramme de réseau pour les utilisateurs et les nœuds de réseau, l'extraction de hachages d'authentification à l'aide de Hashcat (NTLM, HTTP-Digest, CRAM-MD5, Kerberos, etc.), et récupérer et encoder les mots de passe et les noms d'utilisateur.
Tous les projets sont mis en œuvre via .Net Standard et .Net Core pour un support multiplateforme et moderne. Cette solution offre une architecture à trois couches et comprend un ou plusieurs projets, y compris PL, BLL et DAL à chaque couche.
Grâce à DAL (Data Access Layer), le projet aide à lire les fichiers bruts de PCAP en utilisant des pilotes tels que WinPcap, libpcap et des bibliothèques de wrapper comme SharpPcap. De même, la BLL (Business Logic Layer) est responsable de l'analyse des informations du réseau (TCP, paquet, etc.), et PL utilise un projet transversal et fait référence à la fois aux couches BLL et DAL.
OmniPeek
Pour les grands réseaux qui traversent des tonnes de Mo de données chaque seconde, les outils que tout le monde utilise peuvent s'essouffler. Si vous faites face au même, OmniPeek pourrait valoir le coup d'œil.
C'est une performance, une analyse et outil médico-légal pour analyser les réseaux, en particulier lorsque vous avez besoin à la fois de capacités de bas niveau et de tableaux de bord complets.

Capsa
Si tout ce qui vous préoccupe est la plate-forme Windows, Capsa est également un concurrent sérieux. Il existe en trois versions: gratuite, standard et entreprise, chacune avec des capacités différentes.

Cela dit, même la version gratuite prend en charge plus de 300 protocoles et possède des fonctionnalités intéressantes telles que des alertes (déclenchées lorsque certaines conditions sont remplies). L'offre standard est un cran au-dessus, prenant en charge plus de 1000 protocoles et vous permettant d'analyser les conversations et de reconstruire les flux de paquets.
Dans l'ensemble, une option solide pour les utilisateurs de Windows.
EtherApe
Si vous recherchez de puissantes visualisations et l'open source, EtherApe est une excellente option. Alors que les binaires prédéfinis ne sont disponibles que pour une poignée de Distributions Linux, la source est disponible (sur SourceForge et GitHub), donc la construire vous-même est une option.

Voici ce qui rend EtherApe génial à mon avis:
- Surveillance multi-nœuds avec code couleur.
- Prise en charge d'une tonne de formats de paquets tels que ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN, etc. (en fait, beaucoup, beaucoup, plus) .
- Lisez les données en direct sur le «fil» ou à partir d'un fichier tcpdump.
- Prend en charge la résolution de nom standard
- À partir des dernières versions, l'interface graphique a été déplacée vers GTK3, ce qui se traduit par une expérience plus agréable.
CommView
Si vous êtes un magasin exclusif à Windows et appréciez la commodité du support prioritaire, CommView est recommandé. C'est un analyseur de trafic réseau puissant avec des fonctionnalités avancées telles que l'analyse VoIP, le suivi à distance, etc., intégrées.

Ce qui m'a le plus impressionné, c'est sa capacité à exporter des données dans des formats utilisés par plusieurs formats ouverts et propriétaires, tels que Sniffer®, EtherPeek ™, AiroPeek ™, Observateur®, NetMon, Wireshark / Tcpdump et Wireshark / pcapng, et même des vidages hexadécimaux simples.
Wifi Explorer
Le dernier sur la liste est Explorateur Wifi, qui a une version gratuite pour Windows et une version Standard pour Windows et macOS. Si l'analyse du réseau WiFi est tout ce dont vous avez besoin (ce qui est à peu près la norme de nos jours), alors Wifi Explorer vous facilitera la vie.
C'est un outil magnifiquement conçu et riche en fonctionnalités pour couper directement au cœur du réseau.

Mention honorable: Ce ne serait pas un service de fermer ce post sans mentionner un analyseur de réseau exclusif à macOS sur lequel je suis tombé - Little Snitch. Il a un pare-feu intégré, il a donc l'avantage supplémentaire de vous permettre immédiatement de contrôler parfaitement tout le trafic (ce qui peut sembler pénible mais représente un gain énorme à long terme).
Quelle est la prochaine?
Vous devriez également explorer ces logiciel de surveillance de réseau pour une meilleure visibilité de l'infrastructure. Si vous cherchez à faire carrière dans le domaine des réseaux et de la sécurité, consultez quelques-uns des meilleurs cours en ligne ici.