Maîtriser le Débogage d'API REST : Un Guide avec Wireshark
Lorsque l'on travaille sur une API, il est important de pouvoir déboguer cette dernière.
Les outils de débogage d'API peuvent se diviser en deux classes : ceux qui permettent d'éditer les requêtes HTTP envoyées, et ceux qui permettent d'inspecter le réseau pour voir ce qui a été envoyé a posteriori.
Dans la première catégorie, on retrouve des outils assez connus comme Postman, Insomnia ou Curl.
Postman | Insomnia | Curl | |
---|---|---|---|
GUI | ✅ | ✅ | ❌ |
Open source | ❌ | ✅ | ✅ |
Export des requêtes en code | ✅ | ✅ | ❌ |
Import de format OpenAPI | ✅ | ❌ | ❌ |
Simplicité | ⭐️⭐️⭐️⭐️ | ⭐️⭐️⭐️ | ⭐️ |
Facilité d'installation | ⭐️⭐️ | ⭐️⭐️ | ⭐️⭐️⭐️⭐️ |
Dans la seconde catégorie, Wireshark supplante la plupart des solutions disponibles. Heureusement, il est open-source et gratuit.
Dans quel(s) cas utiliser Wireshark ?
Wireshark nous permet d'intercepter les requêtes du réseau, il est donc utile quand :
- On souhaite connaître les requêtes réseau d'un outil sans avoir accès à son code.
- On souhaite vérifier le contenu des requêtes envoyées par un service.
Ci-dessous on montre que wireshark est non intrusif dans l'envoi ou la réception des requêtes HTTP, il se pose en observateur du réseau.
Comment utiliser Wireshark ?
Pour installer Wireshark, vous pouvez suivre la page officielle d'installation.
Une fois installé, à l'ouverture, Wireshark présente les réseaux disponibles sur l'ordinateur ainsi que leur activité. (c.f capture d'écran ci-dessous)
Une fois les interfaces sélectionnées, l'utilisateur peut lancer la capture des requêtes. Il faut noter que les requêtes en HTTPS seront capturées, mais illisibles, car chiffrées.
Comme sur la capture d'écran ci-dessous l'utilisateur peut aussi ajouter des filtres pour n'afficher que les requêtes utiles.
L'interface d'inspection des requêtes est particulièrement utile. Elle permet de regarder en détail le contenu de la requête HTTP et comprendre ce qu'a reçu le destinataire.
Ainsi cet atout "non intrusif" de Wireshark en fait un allié précieux pour le débogage d'applications.