Avant d'en apprendre davantage sur les tests de protocole, comprenons:
Qu'est-ce que le protocole?
Lorsqu'un ordinateur communique entre eux, il existe un ensemble commun de règles et de conditions que chaque ordinateur doit respecter. En d'autres termes, les protocoles déterminent la manière dont les données sont transmises entre les appareils informatiques et sur les réseaux.
Test de protocole
Le test de protocole est une méthode de vérification des protocoles de communication dans les domaines de la commutation, du sans fil, de la VoIP, du routage, etc. L'objectif principal des tests de protocole est de vérifier la structure des paquets envoyés sur un réseau à l'aide d'outils de test de protocole. Les routeurs et les commutateurs sont utilisés pendant le test pour former des parties d'appareils et de produits en cours de test.
Protocoles de routage et de routage
Les protocoles sont classés en deux catégories: protocoles routés et protocoles de routage
- Protocoles routés : les protocoles routés peuvent être utilisés pour envoyer les données utilisateur d'un réseau à un autre réseau. Il transporte le trafic utilisateur comme les e-mails, le trafic Web, les transferts de fichiers, etc. Les protocoles routés sont IP, IPX et AppleTalk.
- Protocoles de routage : les protocoles de routage sont des protocoles réseau qui déterminent les routes des routeurs. Il n'est utilisé qu'entre les routeurs. Par exemple RIP, IGRP, EIGRP, etc.
En termes simples, un routeur est comme un bus utilisé pour le transport tandis que les protocoles de routage sont des signaux sur la route.
En fonction du type de communication, différents protocoles sont utilisés. Des entreprises comme CISCO, JUNIPER, ALCATEL produisent des périphériques réseau tels que des routeurs, des modems, des points d'accès sans fil, etc. qui utilisent différents protocoles de communication, par exemple, Cisco utilise EIGRP, OSPF, etc. Gateway Routing Protocol) ou OSPF (Open Shortest Path First) ou tout autre protocole fonctionne selon la norme respective.
Types de protocoles informatiques
Types de protocoles | Objectif des protocoles |
---|---|
TCP / IP | Il est utilisé pour envoyer des informations par petits paquets sur Internet |
UDP / ICMP | Il est utilisé pour envoyer une petite quantité d'informations dans des paquets de données sur Internet |
POP3 et SMTP | Il est utilisé pour envoyer et recevoir du courrier |
Protocole de transfert hypertexte | Il est utilisé pour transférer la page HTML sous forme cryptée pour assurer la sécurité des données sensibles |
FTP | Il est utilisé pour transporter des fichiers sur un réseau d'un nœud à un autre |
* TCP / IP - Transmission Control Protocol / Internet Protocol, UDP / ICMP - User Datagram Protocol / Internet Control Message Protocol, POP3 / SMTP - Post Office Protocol / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - File Transfer Protocol
Différents types de protocoles réseau (L2 et L3)
Le modèle OSI a un total de 7 couches de communication réseau, dans lesquelles la couche 2 et la couche 3 sont très cruciales.
- Couche 2 : C'est une couche de liaison de données. L'adresse Mac, Ethernet, Token Ring et Frame Relay sont tous des exemples de couche de liaison de données.
- Couche 3 : c'est une couche réseau qui détermine le meilleur chemin disponible dans le réseau pour la communication. Une adresse IP est un exemple de layer3.
Comment faire des tests de protocole
- Pour les tests de protocole, vous avez besoin d'un analyseur et d'un simulateur de protocole
- L'analyseur de protocole garantit un décodage approprié ainsi qu'une analyse des appels et des sessions. Alors que le simulateur simule diverses entités de l'élément de réseau
- Habituellement, un test de protocole est effectué par DUT (appareil sous test) sur d'autres appareils tels que des commutateurs et des routeurs et en configurant le protocole.
- Vérifier ensuite la structure des paquets des paquets envoyés par les appareils
- Il vérifie l'évolutivité, les performances, l'algorithme de protocole, etc. de l'appareil en utilisant des outils tels que lxNetworks, Scapy et Wireshark
Types de test pour les tests de protocole
Les tests de protocole comprennent les tests de fonctionnalité, de performances, de pile de protocoles, d'interopérabilité, etc. Au cours des tests de protocole, trois vérifications sont effectuées.
- Exactitude : recevons-nous le paquet X quand nous nous attendions
- Latence : combien de temps faut-il à un paquet pour transiter par le système
- Bande passante : combien de paquets nous pouvons envoyer par seconde
Les tests de protocole peuvent être séparés en deux catégories. Tests de stress et de fiabilité et tests fonctionnels. Les tests de résistance et de fiabilité couvrent les tests de charge, les tests de résistance, les tests de performance, etc.
- Test de conformité : les protocoles mis en œuvre sur les produits sont testés pour leur conformité comme IEEE, RFC, etc.
- Test d'interopérabilité : l'interopérabilité pour différents fournisseurs est testée. Ce test est effectué après que le test de conformité est effectué sur la plate-forme appropriée
- Test des fonctionnalités réseau: les fonctionnalités des produits réseau sont testées pour la fonctionnalité en référence au document de conception. Par exemple, les fonctionnalités peuvent être la sécurité des ports sur un commutateur, l'ACL sur un routeur, etc.
Exemples de cas de test pour les tests de protocole des périphériques réseau
Voici l'exemple de cas de test pour les routeurs
Nom du test | Cas de test |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Outils de test de protocole
Discutons des outils de test les plus importants utilisés pour vérifier les protocoles
Scapy pour la fabrication de paquets
Scapy est un puissant programme interactif de manipulation de paquets. Cela vous permet de
- Créer des paquets
- Décoder les paquets sur le réseau
- Capturez des paquets et analysez-les
- Injecter des paquets dans le réseau
Donc, fondamentalement, scapy fait principalement deux choses: recevoir des réponses et envoyer des paquets . Vous définissez les paquets, il les envoie, reçoit les réponses, associe les demandes aux réponses et renvoie une liste de couples de paquets et une liste de paquets sans correspondance.
Il peut également gérer d'autres choses comme le routage de trace, les tests unitaires, les attaques ou la découverte de réseau, le développement de nouveaux protocoles, le sondage, etc.
Scapy nous permet d'écrire un script Python qui nous permet d'effectuer une tâche comme l'envoi et la réception de paquets ou le reniflement de paquets. Par exemple, scapy peut renifler le paquet de données à l'aide d'un script Python. La commande pour ouvrir le getdit entrée dans l'éditeur
#gedit scapysniff.py#! / usr / bin / env pythondepuis scapy.all import *a = renifler (nombre = 10)a.nsummary ()enregistrer et changer le mode du fichier sous une forme exécutable# chmod + x scapysniff.py# ./scaotsbuff.py
Il reniflera 10 paquets et dès qu'il aura reniflé 10 paquets, il imprimera le résumé. Scapy également comme un tableau de commande pour envoyer et recevoir des paquets en même temps
Télécharger Scapy
Outils Wireshark pour l'analyse
Outils utilisés pour les tests de protocole - Wireshark. Il permet de capturer des paquets en temps réel et de les afficher sous une forme lisible par l'homme. Il vous permet de creuser profondément dans le trafic réseau et d'inspecter les paquets individuels en utilisant un code couleur et des filtres.
Wireshark capture les paquets qui aident à déterminer quand la session est établie, quand le voyage exact des données a été lancé et combien de données sont envoyées à chaque fois, etc.
Wireshark dispose d'un ensemble de fonctionnalités riches qui comprend
- Une inspection approfondie de centaines de protocoles, d'autres étant ajoutés tout le temps
- Capture en direct et analyse hors ligne
- Analyse VoIP riche
- Navigateur standard à trois volets
- Fonctionne sur plusieurs plates-formes telles que Windows, Linux, OSX, etc.
- Les données réseau capturées peuvent être parcourues via une interface graphique
- Le décryptage prend en charge de nombreux protocoles tels que IPsec, ISAKMP, SSL / TLS
- Les données en direct peuvent être lues à partir d'Ethernet, ATM, Bluetooth, USB, jeton, etc.
- La sortie peut être exportée au format CSV, XML, texte brut, etc.
Télécharger Wireshark
TTCN
TCCN est un langage de test standard pour définir le scénario de test et leur implémentation pour le test de protocole. Une suite de tests TCCN contient de nombreux cas de test écrits dans le langage de programmation TTCN et elle est utilisée pour tester des systèmes réactifs ou des tests comportementaux .
Par exemple, un distributeur automatique de café qui vous donne du café en insérant une pièce d'un dollar mais ne répond pas si quelque chose de moins d'un dollar y est inséré. Pour programmer de telles machines, le langage TCCN3 est utilisé. Afin que la machine à café réponde lors de l'insertion d'une pièce de monnaie, nous devons écrire un composant TCCN-3 qui se comporte comme une machine à café. Cela nous permet d'effectuer notre test avant qu'une machine à café réelle ne soit disponible en tant que produit. Une fois cela fait, nous connecterons la suite de tests TCCN3 au périphérique externe.
Le système de test émet des stimuli (pièce d'un dollar) et reçoit des réponses (café). L'adaptateur de stimuli obtient des stimuli du système de test et les transmet au système sous test. L'adaptateur de réponse attend les réponses du système testé et les transmet au système de test.
TCCN3 peut être utilisé dans divers domaines comme
- Communications mobiles (LTE, WiMAX, 3G, etc.)
- Technologies à large bande (ATM, DSL)
- Plateformes middleware (Webservices, CORBA, etc.)
- Protocole Internet (SIP, IMS, IPv6)
- Carte à puce
- Automobile (AutoSAR, MOST, CAN)
Dans TCCN, nous pouvons définir
- Suites de test
- Cas de test
- Étapes du test
- Déclarer des variables
- Déclarer les minuteries
- Créez des PDU, etc.
TCCN peut être intégré à des types de systèmes d'autres langages comme ASN.1, XML, C / C ++. Le langage de base TCCN3 existe au format texte en dehors d'autres formats tels que tabulaire, graphique et présentation.