TUTO : Capturer des paquets avec SNGREP
SNGREP est un outil permettant de visualiser les flux SIP. Il prend en charge la capture en direct pour afficher les paquets SIP en temps réel et peut également être utilisé comme outil de visualisation de fichier .pcap
Prérequis
1. Connectez-vous en SSH à votre instance (voir TUTO : Accès SSH) à l’aide d’un client SSH.
2. Exécutez la commande suivante pour accéder à SNGREP :
/opt/pbxware/sh/sngrep
AVERTISSEMENT :
L’exécution de sngrep pendant une longue période peut entraîner un crash du système.
ASTUCE :
Par défaut, sngrep capture tous les paquets, notamment les paquets d’enregistrement des téléphones et paquets de flux d’appels. Pour ne capturer que les trames d’appel, ajoutez les arguments :
- -c (pour ne capturer que les paquets INVITE)
- -r (pour ne capturer que les trames RTP)
La commande ressemble alors à ceci :
/opt/pbxware/sh/sngrep -c -r
Voir : Lexique
Affichage & raccourcis
- ESC Quit : Quitter SNGREP.
- Enter Show : Afficher plus d’informations sur le poste en surbrillance.
- Space Select : Après avoir appuyé sur la barre d’espacement, la ligne est sélectionnée. L’utilisateur peut ainsi sélectionner plusieurs lignes et peut être utilisé avec l’option F2 Enregistrer.
- F1 Help : Donne accès au menu d’aide.
- F2 Save : Option permettant d’enregistrer les dialogues de la session de capture actuelle dans un fichier .pcap ou .txt vers un chemin et un nom de fichier spécifiques.
- F3 Search : Donne l’option de rechercher d’une manière plus spécifique et granulaire.
- F4 Extended : Donne la vue étendue.
- F5 Clear : Efface l’écran.
- F7 Filter : Comme pour la recherche, mais avec plus d’options pour filtrer le résultat final.
- F8 Settings : Ajuste l’interface des paramètres SNGREP, les options de capture, les options de flux d’appels et les options EEP/HEP Homer.
- F9 Clear with filter : Purge l’écran avec le filtre indiqué.
- F10 Columns : Ajuste les colonnes qui sont affichées dans la fenêtre SNGREP ouverte.
Filtrage des paquets
Vous trouverez dans le tableau ci-dessous la liste des requêtes pouvant être observées dans SNGREP et leur description.
Requête | Description |
REGISTER | Utilisé pour enregistrer un client auprès du serveur. |
INVITE | Initiée par un client SIP pour inviter un utilisateur à une session de communication. |
SUBSCRIBE | Demande à un serveur SIP de surveiller un événement spécifique. |
NOTIFY | Envoie des notifications à un client SIP en réponse à une demande de surveillance. |
OPTIONS | Utilisé pour interroger les capacités du serveur SIP. |
PUBLISH | Utilisé pour publier des informations sur la présence d’un utilisateur. |
MESSAGE | Permet l’envoi de messages de texte entre des utilisateurs SIP. |
- Exemple après filtrage des paquets INVITE uniquement :
On appuie alors sur la touche Entrée pour vérifier l’entrée sélectionnée.
Visualisation des flux
Si vous souhaitez visualiser le flux RTP sur un appel en cours, vous devez ouvrir le paquet INVITE en appuyant sur Entrée et ensuite appuyer sur F3.
F2 permet d’afficher le flux SDP & F3 permet d’afficher le flux RTP.
Réponses SIP fréquentes
Voici les requêtes SIP les plus courantes pouvant être obtenues lors de l’analyse des trames :
Code | Signification | Description | Conseil |
100 | Trying | Requête INVITE reçue par le serveur. | La demande a été reçue par le serveur du prochain saut et une action non spécifiée est entreprise au nom de cet appel. |
180 | Ringing | Le client à reçu la requête et est alerté. | Ce code de réponse indique qu’une invitation a été reçue par l’agent utilisateur et que l’alerte est en cours. |
181 | Call Is Being Forwarded | L’appel est transféré. | Le serveur peut éventuellement envoyer cette réponse pour indiquer qu’un appel est transféré. |
183 | Session Progress | Le statut de progression de la session. | Ce code est une réponse provisoire indiquant que le destinataire de l’appel est en train de préparer sa réponse. |
200 | OK | Indique que la requête a réussi. | Ce code indique que la requête a réussi et que tout se déroule comme prévu. |
400 | Bad Request | Requête incorrecte ou mal formée. | Vérifiez la syntaxe de la requête SIP et assurez-vous qu’elle est correcte. |
401 | Unauthorized | L’authentification est requise. | >Assurez-vous d’utiliser des informations d’identification valides pour accéder aux ressources SIP. |
403 | Forbidden | Accès refusé pour des raisons de sécurité. | Revoyez les autorisations d’accès et les règles de sécurité pour résoudre les problèmes d’accès refusé. |
404 | Not Found | Ressource non trouvée. | Assurez-vous que la ressource SIP demandée existe et est accessible. |
406 | Not Acceptable | Requête non acceptable. | Vérifiez les en-têtes de la requête et assurez-vous qu’ils sont correctement formatés. |
408 | Timeout | Délai d’attente de la requête expiré. | Vérifiez la connectivité du réseau et assurez-vous que les requêtes SIP sont traitées rapidement. |
480 | Temporarily Unavailable | Ressource temporairement non disponible. | Vérifiez l’état du serveur et assurez-vous qu’il est disponible pour traiter les requêtes SIP. |
486 | Busy Here | Occupé. | Attendez un moment et réessayez lorsque la ligne est libre pour établir la connexion. |
500 | Server Internal Error | Erreur interne du serveur. | Vérifiez l’état du serveur PBXware sur lequel transitent les requêtes. |
502 | Bad Gateway | Passerelle incorrecte. | Vérifiez la configuration de la passerelle et assurez-vous qu’elle est correctement définie. |
503 | Service Unavailable | Service non disponible. | Surveillez les performances du serveur et assurez-vous qu’il peut gérer les demandes SIP entrantes. |
600 | Busy Everywhere | Occupé partout. | Essayez de contacter l’utilisateur ultérieurement lorsque les lignes sont moins occupées. |
Enregistrement du fichier de capture
SNGREP peut enregistrer les segments d’appel sélectionnés dans un fichier .pcap.
Pour ce faire, sélectionnez les segments d’appel requis en appuyant sur espace.
Une fois vous avez sélectionné les segments d’appel requis, appuyez sur F2 et ensuite la fenêtre “Save capture” s’ouvrira :
Entrez votre chemin de sauvegarde. Le fichier .pcap sera sauvegardé par défaut dans le répertoire /opt/pbxware/pw
Vous pouvez également extraire le fichier .pcap à l’aide un client FTP (WinSCP, FileZilla), et également le visualiser dans un logiciel d’analyse de paquets. (Ex : Wireshark)