Tutoriel de test de protocole : L2 et L3

Avant d'en savoir plus sur les tests de protocole, comprenons :

Quโ€™est-ce que le protocole ?

Lorsqu'un ordinateur communique avec un autre, il existe un ensemble commun de rรจgles et de conditions que chaque ordinateur doit respecter. En d'autres termes, les protocoles dรฉterminent comment les donnรฉes sont transmises. transmitentre les appareils informatiques et via les rรฉseaux.

Tests de protocole

Tests 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 des appareils et des produits testรฉs.

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 tel que 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 itinรฉraires 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.

Selon le 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. Les tests de protocole ne sont rien d'autre que vรฉrifier si EIGRP (Enhanced Interior Gateway Routing Protocol) ou OSPF (Open Shortest Path First) ou tout autre protocole fonctionne conformรฉment ร  la norme respective.

Types de protocoles informatiques

Types de protocoles Objectif des protocoles
TCP / IP Il est utilisรฉ pour envoyer des informations sous forme de petits paquets sur Internet
UDP/ICMP Il est utilisรฉ pour envoyer une petite quantitรฉ dโ€™informations sous forme de paquets de donnรฉes sur Internet.
POP3 et SMTP Il est utilisรฉ pour envoyer et recevoir du courrier
Hypertext Transfer Protocol Il est utilisรฉ pour transfรฉrer une 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 Protocole de contrรดle/protocole Internet, UDP/ICMPโ€“ Protocole de datagramme utilisateur/Protocole de message de contrรดle Internet, POP3 / SMTPโ€“ Protocole postal / Simple Mail Protocole de transfert, HTTP- Protocole de transfert hypertexte, Ftp- Protocole de transfer de fichier

Diffรฉrents types de protocoles rรฉseau (L2 et L3)

Le modรจle OSI comporte au total 7 couches de communication rรฉseau, dans lesquelles les couches 2 et 3 sont trรจs cruciales.

  • Layer 2: C'est une couche liaison de donnรฉes. L'adresse Mac, Ethernet, Token Ring et Frame Relay sont tous des exemples de couche liaison de donnรฉes.
  • Layer 3: Il s'agit d'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 couche 3.

Comment faire des tests de protocole

  • Pour les tests de protocole, vous avez besoin analyseur et 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 d'รฉlรฉment de rรฉseau
  • Habituellement, un test de protocole est effectuรฉ par le DUT (appareil testรฉ) sur d'autres appareils tels que des commutateurs et des routeurs et y configure le protocole.
  • Vรฉrifier ensuite la structure des paquets envoyรฉs par les appareils
  • Il vรฉrifie l'รฉvolutivitรฉ, les performances, l'algorithme de protocole, etc. de l'appareil ร  l'aide d'outils tels que lxNetworks, Scapy et Wireshark

Types de tests pour les tests de protocole

Les tests de protocole comprennent les tests de fonctionnalitรฉ, de performances, de pile de protocoles, d'interopรฉrabilitรฉ, etc. Lors des tests de protocole, trois vรฉrifications sont effectuรฉes.

  • Correction: recevons-nous le paquet X quand nous l'attendions
  • Latence: Combien de temps faut-il ร  un paquet pour transiter dans le systรจme
  • Bande passante : Combien de paquets pouvons-nous envoyer par seconde

Les tests de protocole peuvent รชtre divisรฉs en deux catรฉgories. Tests de contrainte et de fiabilitรฉ et tests fonctionnels. Les tests de contrainte et de fiabilitรฉ couvrent test de charge, Test de stress, Test de performance, etc. Alors que Essais fonctionnels comprend les tests nรฉgatifs, les tests de conformitรฉ, les tests d'interopรฉrabilitรฉ, etc.

  • Test de conformitรฉ: Les protocoles mis en ล“uvre sur les produits sont testรฉs pour leur adhรฉsion comme IEEE, RFC et ainsi de suite
  • Test d'interopรฉrabilitรฉ: L'interopรฉrabilitรฉ des diffรฉrents fournisseurs est testรฉe. Ce test est effectuรฉ aprรจs que les tests de conformitรฉ ont รฉtรฉ effectuรฉs sur la plateforme appropriรฉe.
  • Test des fonctionnalitรฉs du rรฉseau : Les caractรฉristiques des produits rรฉseau sont testรฉes pour leur 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
Un VLAN sur un commutateur Crรฉez deux VLAN diffรฉrents. Vรฉrifier la visibilitรฉ entre les hรดtes sur diffรฉrents VLAN
Trois VLAN symรฉtriques sur un commutateur Crรฉez trois VLAN asymรฉtriques diffรฉrents. Vรฉrifier la visibilitรฉ entre les hรดtes
Spanning Tree : variation du coรปt du chemin racine Testez l'รฉvolution du coรปt du chemin racine aprรจs une variation de topologie
Spanning Tree : blocage de ports Vรฉrifiez comment le protocole Spanning Tree รฉvite la formation de cycles dans le rรฉseau, bloquant les liaisons redondantes, en prรฉsence de VLAN trop
Diffรฉrents ponts racines pour diffรฉrents MSTI Montrer que chaque MSTI peut avoir un Root Bridge diffรฉrent
Visibilitรฉ entre les diffรฉrentes rรฉgions STP Avec les mรชmes VLAN, vรฉrifiez la visibilitรฉ entre les diffรฉrentes rรฉgions STP
Performances du commutateur tรฉlรฉphonique Gรฉnรฉrez 1000 appels tรฉlรฉphoniques et vรฉrifiez si le commutateur tรฉlรฉphonique fonctionne toujours ou si ses performances se dรฉgradent
Test nรฉgatif pour l'appareil Entrez la clรฉ incorrecte et vรฉrifiez l'authentification de l'utilisateur. Il ne doit pas permettre ร  un utilisateur d'accรฉder
Vitesse de ligne Vรฉrifiez que l'appareil fonctionne ร  une vitesse de 10 Gbit/s, en utilisant toute la bande passante disponible pour gรฉrer le trafic entrant.
Taux de conversation du protocole Tracร‰tablir une conversation TCP entre deux appareils et vรฉrifier que chaque appareil a adoptรฉ un comportement correct
Temps de rรฉponse pour le lancement de la session Mesurer le temps de rรฉponse d'un appareil ร  une demande d'invitation pour l'ouverture de session

Outils pour les tests de protocole

Discutons des outils de test les plus importants utilisรฉs pour vรฉrifier les protocoles

1) Scapy Pour la crรฉation de paquets

Scapy est un puissant programme interactif de manipulation de paquets. Il vous permet de

  • Crรฉer des paquets
  • Dรฉcoder les paquets sur le rรฉseau
  • Capturez les paquets et analysez-les
  • Injecter des paquets dans le rรฉseau

Donc en gros, scapy fait principalement deux choses : recevoir des rรฉponses et envoyer des paquets. Vous dรฉfinissez les paquets, il les envoie, reรงoit des rรฉponses, fait correspondre les demandes avec les 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 tracroutage รฉlectronique, tests unitaires, attaques ou dรฉcouverte de rรฉseau, dรฉveloppementping nouveaux protocoles, sondages, etc.

Scapy nous permet d'รฉcrire un Python script qui nous permet d'effectuer une tรขche comme l'envoi et la rรฉception de paquets ou le reniflage de paquets. Par exemple, scapy peut renifler le paquet de donnรฉes en utilisant un Python scรฉnario. La commande pour ouvrir le getdit saisie dans l'รฉditeur

#gedit scapysniff.py
#!/usr/bin/env python
from scapy.all import*

a= sniff(count=10)
a.nsummary()

save, and change the mode of the file into an executable form
#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 tableau de commandes pour envoyer et recevoir des paquets en mรชme temps

Tรฉlรฉcharger Scapy

2) Wireshark Outils d'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 d'approfondir le trafic rรฉseau et d'inspecter les paquets individuels ร  l'aide de codes couleur et de filtres.

Wireshark capture les paquets qui aident ร  dรฉterminer quand la session est รฉtablie, quand le voyage exact des donnรฉes a รฉtรฉ initiรฉ et combien de donnรฉes sont envoyรฉes ร  chaque fois, etc.

Wireshark dispose d'un ensemble de fonctionnalitรฉs riches qui comprennent

  • Une inspection approfondie de centaines de protocoles, de nouveaux รฉtant ajoutรฉs en permanence
  • Capture en direct et analyse hors ligne
  • Analyse VoIP enrichie
  • Navigateur standard ร  trois volets
  • Fonctionne sur plusieurs plateformes comme Windows, Linux, OSX et ainsi de suite
  • Les donnรฉes rรฉseau capturรฉes peuvent รชtre parcourues via une interface graphique
  • Le dรฉcryptage prend en charge de nombreux protocoles comme IPsec, ISAKMP, SSL/TLS
  • Les donnรฉes en direct peuvent รชtre lues depuis Ethernet, ATM, Bluetooth, USB, token, 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 Scรฉnario de test et leur mise en ล“uvre pour les tests de protocole. Une suite de tests TCCN contient de nombreux cas de test รฉcrits dans le langage de programmation TTCN et est utilisรฉe pour vers les tests systรจmes rรฉactifs ou 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 qu'un dollar y est insรฉrรฉ. Pour programmer de telles machines, le langage TCCN3 est utilisรฉ. Afin que la machine ร  cafรฉ rรฉagisse lors de l'insertion d'une piรจce de monnaie, nous devons รฉcrire le composant TCCN-3 qui se comporte comme une machine ร  cafรฉ. Cela nous permet dโ€™effectuer notre test avant quโ€™une vรฉritable machine ร  cafรฉ ne soit disponible en tant que produit. Une fois cela fait, nous connecterons la suite de tests TCCN3 au pรฉriphรฉrique externe.

TTCN

Le systรจme de test รฉmet des stimuli (piรจce de monnaie) et reรงoit des rรฉponses (cafรฉ). L'adaptateur de stimuli obtient les stimuli du systรจme de test et les transmet au systรจme 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 haut dรฉbit (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 de test
  • Dรฉclarer des variables
  • Dรฉclarer des minuteries
  • Crรฉer 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 les tableaux, les graphiques et les prรฉsentations.

Rรฉsumez cet article avec :