Οδηγός δοκιμής πρωτοκόλλου: L2 & L3
Πριν μάθουμε για τη δοκιμή πρωτοκόλλου, ας καταλάβουμε:
Τι είναι το Πρωτόκολλο;
Όταν ένας υπολογιστής επικοινωνεί μεταξύ τους, υπάρχει ένα κοινό σύνολο κανόνων και προϋποθέσεων που πρέπει να ακολουθεί κάθε υπολογιστής. Με άλλα λόγια, τα πρωτόκολλα καθορίζουν τον τρόπο μετάδοσης δεδομένων μεταξύ υπολογιστικών συσκευών και μέσω δικτύων.
Δοκιμή Πρωτοκόλλου
Δοκιμή Πρωτοκόλλου είναι μια μέθοδος ελέγχου πρωτοκόλλων επικοινωνίας στους τομείς Switching, Wireless, VoIP, Routing κ.λπ. Ο πρωταρχικός στόχος της δοκιμής πρωτοκόλλου είναι να ελέγξει τη δομή των πακέτων που αποστέλλονται μέσω ενός δικτύου χρησιμοποιώντας εργαλεία δοκιμής πρωτοκόλλου. Κατά τη διάρκεια της δοκιμής χρησιμοποιούνται δρομολογητές και διακόπτες για τη διαμόρφωση εξαρτημάτων συσκευών και προϊόντων υπό δοκιμή.
Πρωτόκολλα δρομολόγησης και δρομολόγησης
Τα πρωτόκολλα ταξινομούνται σε δύο κατηγορίες δρομολογημένα πρωτόκολλα και πρωτόκολλα δρομολόγησης
- Δρομολογημένα Πρωτόκολλα: Τα δρομολογημένα πρωτόκολλα μπορούν να χρησιμοποιηθούν για την αποστολή των δεδομένων χρήστη από ένα δίκτυο σε άλλο δίκτυο. Μεταφέρει κίνηση χρηστών όπως μηνύματα ηλεκτρονικού ταχυδρομείου, κίνηση ιστού, μεταφορές αρχείων κ.λπ. Τα πρωτόκολλα δρομολόγησης είναι IP, IPX και AppleTalk.
- Πρωτόκολλα δρομολόγησης: Τα πρωτόκολλα δρομολόγησης είναι πρωτόκολλα δικτύου που καθορίζουν διαδρομές για δρομολογητές. Χρησιμοποιείται μόνο μεταξύ δρομολογητών. Για παράδειγμα RIP, IGRP, EIGRP κ.λπ.
Με απλά λόγια, ένας δρομολογητής είναι σαν ένα λεωφορείο που χρησιμοποιείται για μεταφορά ενώ τα πρωτόκολλα δρομολόγησης είναι σήματα στο δρόμο.
Ανάλογα με τον τύπο της επικοινωνίας χρησιμοποιούνται διαφορετικά πρωτόκολλα. Εταιρείες όπως η CISCO, η JUNIPER, η ALCATEL παράγουν συσκευές δικτύωσης όπως δρομολογητές, μόντεμ, σημεία ασύρματης πρόσβασης κ.λπ. που χρησιμοποιούν διαφορετικά πρωτόκολλα για επικοινωνία, για παράδειγμα, Cisco χρησιμοποιεί EIGRP, OSPF, κ.λπ. Η δοκιμή πρωτοκόλλου δεν είναι τίποτα άλλο παρά ο έλεγχος εάν το EIGRP (Enhanced Interior Gateway Routing Protocol) ή το OSPF (Πρώτα ανοιχτή συντομότερη διαδρομή) ή οποιοδήποτε άλλο πρωτόκολλο λειτουργεί σύμφωνα με το αντίστοιχο πρότυπο.
Τύποι πρωτοκόλλων υπολογιστή
Τύποι πρωτοκόλλων | Σκοπός των Πρωτοκόλλων |
---|---|
TCP / IP | Χρησιμοποιείται για την αποστολή πληροφοριών σε μικρά πακέτα μέσω του Διαδικτύου |
UDP/ICMP | Χρησιμοποιείται για την αποστολή μικρού όγκου πληροφοριών σε πακέτα δεδομένων μέσω του Διαδικτύου |
POP3 και SMTP | Χρησιμοποιείται για την αποστολή και λήψη αλληλογραφίας |
Πρωτόκολλο μεταφοράς υπερκειμένου | Χρησιμοποιείται για τη μεταφορά σελίδας HTML σε κρυπτογραφημένη μορφή για την παροχή ασφάλειας σε ευαίσθητα δεδομένα |
fTP | Χρησιμοποιείται για τη μεταφορά αρχείων μέσω δικτύου από έναν κόμβο στον άλλο |
* TCP / IP- Transmission Πρωτόκολλο ελέγχου/πρωτόκολλο Διαδικτύου, UDP / ICMP– Πρωτόκολλο Δεδομένων Χρήστη/Πρωτόκολλο μηνυμάτων ελέγχου Διαδικτύου, POP3/SMTP– Πρωτόκολλο Ταχυδρομείου / Απλό Mail Πρωτόκολλο μεταφοράς, HTTP– Πρωτόκολλο μεταφοράς υπερκειμένου, fTP- Πρωτόκολλο μεταφοράς αρχείων
Διαφορετικοί τύποι πρωτοκόλλων δικτύου (L2 και L3)
Το μοντέλο OSI έχει συνολικά 7 επίπεδα επικοινωνίας δικτύου, στα οποία το επίπεδο 2 και το επίπεδο 3 είναι πολύ κρίσιμα.
- Επίπεδο 2: Είναι ένα επίπεδο σύνδεσης δεδομένων. Η διεύθυνση Mac, το Ethernet, το Token Ring και το Frame Relay είναι όλα παραδείγματα του επιπέδου σύνδεσης δεδομένων.
- Επίπεδο 3: Είναι ένα επίπεδο δικτύου που καθορίζει την καλύτερη διαθέσιμη διαδρομή στο δίκτυο για επικοινωνία. Μια διεύθυνση IP είναι ένα παράδειγμα του layer3.
Πώς να κάνετε τη δοκιμή πρωτοκόλλου
- Για τη δοκιμή πρωτοκόλλου, χρειάζεστε αναλυτής πρωτοκόλλου και προσομοιωτής
- Ο αναλυτής πρωτοκόλλου εξασφαλίζει σωστή αποκωδικοποίηση μαζί με ανάλυση κλήσεων και συνεδρίας. Ενώ ο προσομοιωτής προσομοιώνει διάφορες οντότητες στοιχείου δικτύου
- Συνήθως, μια δοκιμή πρωτοκόλλου πραγματοποιείται από το DUT (συσκευή υπό δοκιμή) σε άλλες συσκευές όπως διακόπτες και δρομολογητές και τη διαμόρφωση του πρωτοκόλλου σε αυτό
- Στη συνέχεια, έλεγχος της δομής των πακέτων των πακέτων που αποστέλλονται από τις συσκευές
- Ελέγχει την επεκτασιμότητα, την απόδοση, τον αλγόριθμο πρωτοκόλλου κ.λπ. της συσκευής χρησιμοποιώντας εργαλεία όπως το lxNetworks, Scapy και Wireshark
Τύποι δοκιμών για δοκιμές πρωτοκόλλου
Η δοκιμή πρωτοκόλλου περιλαμβάνει έλεγχο λειτουργικότητας, απόδοσης, στοίβας πρωτοκόλλων, διαλειτουργικότητας, κ.λπ. Κατά τη διάρκεια της δοκιμής πρωτοκόλλου βασικά, γίνονται τρεις έλεγχοι.
- Ορθότητα: Λαμβάνουμε το πακέτο X όταν το περιμέναμε
- Αφάνεια: Πόσος χρόνος χρειάζεται για τη μεταφορά ενός πακέτου στο σύστημα
- εύρος ζώνης: Πόσα πακέτα μπορούμε να στείλουμε ανά δευτερόλεπτο
Η δοκιμή πρωτοκόλλου μπορεί να χωριστεί σε δύο κατηγορίες. Δοκιμές καταπόνησης και αξιοπιστίας και λειτουργικές δοκιμές. Τα τεστ πίεσης και αξιοπιστίας καλύπτουν Δοκιμές φορτίου, Έλεγχος πίεσης, Δοκιμές Απόδοσης, κλπ. Ενώ Λειτουργική δοκιμή περιλαμβάνει αρνητική δοκιμή, δοκιμή συμμόρφωσης, δοκιμή διαλειτουργικότητας κ.λπ.
- Δοκιμή Συμμόρφωσης: Τα πρωτόκολλα που εφαρμόζονται σε προϊόντα ελέγχονται για συμμόρφωση όπως το IEEE, RFC και ούτω καθεξής
- Δοκιμή Διαλειτουργικότητας: Η διαλειτουργικότητα για διαφορετικούς προμηθευτές έχει δοκιμαστεί. Αυτός ο έλεγχος γίνεται αφού γίνει ο έλεγχος συμμόρφωσης στην κατάλληλη πλατφόρμα
- Δοκιμή χαρακτηριστικών δικτύου: Τα χαρακτηριστικά των προϊόντων δικτύωσης ελέγχονται για λειτουργικότητα με αναφορά στο έγγραφο σχεδιασμού. Για παράδειγμα, οι λειτουργίες μπορεί να είναι η ασφάλεια θύρας σε έναν μεταγωγέα, το ACL σε έναν δρομολογητή κ.λπ.
Δείγματα Δοκιμών για Δοκιμές Πρωτοκόλλου Συσκευών Δικτύου
Εδώ είναι το δείγμα δοκιμής για δρομολογητές
Όνομα δοκιμής | Test Cases |
---|---|
Ένα VLAN σε έναν διακόπτη | Δημιουργήστε δύο διαφορετικά VLAN. Ελέγξτε την ορατότητα μεταξύ κεντρικών υπολογιστών σε διαφορετικά VLAN |
Τρία συμμετρικά VLAN σε έναν διακόπτη | Δημιουργήστε τρία διαφορετικά ασύμμετρα VLAN. Ελέγξτε την ορατότητα μεταξύ των κεντρικών υπολογιστών |
Spanning Tree: Διακύμανση κόστους διαδρομής ρίζας | Ελέγξτε πώς αλλάζει το κόστος διαδρομής ρίζας μετά από μια παραλλαγή τοπολογίας |
Spanning Tree: Port Blocking | Ελέγξτε πώς το εκτεταμένο πρωτόκολλο δέντρου αποφεύγει το σχηματισμό κύκλων στο δίκτυο, αποκλείοντας περιττές συνδέσεις, παρουσία VLAN πολύ |
Διαφορετική γέφυρα ρίζας για διαφορετικά MSTI | Δείξτε ότι κάθε MSTI μπορεί να έχει διαφορετικό Root Bridge |
Ορατότητα μεταξύ διαφορετικών περιοχών STP | Με τα ίδια VLAN ελέγξτε την ορατότητα μεταξύ διαφορετικών περιοχών STP |
Απόδοση τηλεφωνικού διακόπτη | Δημιουργήστε 1000 τηλεφωνικές κλήσεις και ελέγξτε εάν ο τηλεφωνικός διακόπτης εξακολουθεί να λειτουργεί ή η απόδοσή του υποβαθμίζεται |
Αρνητικό τεστ για συσκευή | Εισαγάγετε το λανθασμένο κλειδί και ελέγξτε τον χρήστη για έλεγχο ταυτότητας. Δεν πρέπει να επιτρέπει σε έναν χρήστη την πρόσβαση |
Ταχύτητα γραμμής | Ελέγξτε τη συσκευή που λειτουργεί με ταχύτητα 10 Gbps, χρησιμοποιώντας όλο το διαθέσιμο εύρος ζώνης για τη διαχείριση της εισερχόμενης κίνησης |
Ρυθμός συνομιλίας πρωτοκόλλου | Παρακολουθήστε μια συνομιλία TCP μεταξύ δύο συσκευών και επαληθεύστε ότι κάθε συσκευή έχει τη σωστή συμπεριφορά |
Χρόνος απόκρισης για την έναρξη της συνεδρίας | Μετρήστε τον χρόνο απόκρισης μιας συσκευής σε ένα αίτημα πρόσκλησης για έναρξη συνεδρίας |
Εργαλεία για τη δοκιμή πρωτοκόλλου
Ας συζητήσουμε τα πιο σημαντικά εργαλεία δοκιμών που χρησιμοποιούνται για την επαλήθευση πρωτοκόλλων
1) Scapy Για Packet Crafting
Scapy είναι ένα ισχυρό διαδραστικό πρόγραμμα χειρισμού πακέτων. Σας δίνει τη δυνατότητα να
- Δημιουργήστε πακέτα
- Αποκωδικοποίηση πακέτων στο δίκτυο
- Καταγράψτε πακέτα και αναλύστε τα
- Εισάγετε πακέτα στο δίκτυο
Οπότε, βασικά, το scapy κάνει κυρίως δύο πράγματα: λήψη απαντήσεων και αποστολή πακέτων. Εσείς ορίζετε τα πακέτα, τα στέλνει, λαμβάνει απαντήσεις, αντιστοιχίζει αιτήματα με απαντήσεις και επιστρέφει μια λίστα με ζεύγη πακέτων και μια λίστα με μη αντιστοιχισμένα πακέτα.
Μπορεί επίσης να χειριστεί και άλλα πράγματα, όπως δρομολόγηση ιχνηλάτησης, δοκιμές μονάδων, επιθέσεις ή ανακάλυψη δικτύου, ανάπτυξη νέων πρωτοκόλλων, ανίχνευση κ.λπ.
Scapy μας δίνει τη δυνατότητα να γράψουμε α Python σενάριο που μας επιτρέπει να εκτελούμε μια εργασία όπως αποστολή και λήψη πακέτων ή μυρίζοντας πακέτα. Για παράδειγμα, το scapy μπορεί να μυρίσει το πακέτο δεδομένων χρησιμοποιώντας a Python γραφή. Η εντολή για το άνοιγμα του getdit εισήχθη στο πρόγραμμα επεξεργασίας
#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
Θα μυρίσει 10 πακέτα και μόλις μυρίσει 10 πακέτα θα εκτυπώσει την περίληψη. Scapy επίσης ως συστοιχία εντολών για αποστολή και λήψη πακέτων ταυτόχρονα
2) Wireshark Εργαλεία για Ανάλυση
Εργαλεία που χρησιμοποιούνται για τη δοκιμή πρωτοκόλλου- Wireshark. Επιτρέπει τη λήψη πακέτων σε πραγματικό χρόνο και την εμφάνιση τους σε αναγνώσιμη από τον άνθρωπο μορφή. Σας επιτρέπει να σκάβετε βαθιά στην κυκλοφορία του δικτύου και να επιθεωρείτε μεμονωμένα πακέτα χρησιμοποιώντας χρωματική κωδικοποίηση και φίλτρα.
Wireshark συλλαμβάνει πακέτα που βοηθούν στον προσδιορισμό του πότε ξεκινά η συνεδρία, πότε ξεκίνησε η ακριβής διαδρομή δεδομένων και πόσα δεδομένα αποστέλλονται κάθε φορά κ.λπ.
Wireshark έχει ένα σύνολο από πλούσια χαρακτηριστικά που περιλαμβάνει
- Μια ενδελεχής επιθεώρηση εκατοντάδων πρωτοκόλλων, τα οποία προστίθενται συνεχώς
- Ζωντανή λήψη και ανάλυση εκτός σύνδεσης
- Πλούσια ανάλυση VoIP
- Τυπικό πρόγραμμα περιήγησης με τρία παράθυρα
- Λειτουργεί σε πολλές πλατφόρμες όπως Windows, Linux, OSX και ούτω καθεξής
- Τα δεδομένα δικτύου που έχουν συλληφθεί μπορούν να περιηγηθούν μέσω GUI
- Η αποκρυπτογράφηση υποστηρίζει πολλά πρωτόκολλα όπως IPsec, ISAKMP, SSL/TLS
- Τα ζωντανά δεδομένα μπορούν να διαβαστούν από Ethernet, ATM, Bluetooth, USB, token κ.λπ.
- Η έξοδος μπορεί να εξαχθεί σε CSV, XML, απλό κείμενο κ.λπ.
TTCN
Το TCCN είναι μια τυπική γλώσσα δοκιμής για ορισμό Σενάριο δοκιμής και την εφαρμογή τους για δοκιμές πρωτοκόλλου. Μια σουίτα δοκιμών TCCN περιέχει πολλές περιπτώσεις δοκιμών γραμμένες στη γλώσσα προγραμματισμού TTCN και χρησιμοποιείται για αυτό δοκιμών αντιδραστικά συστήματα ή δοκιμές συμπεριφοράς.
Για παράδειγμα, ένα μηχάνημα αυτόματης πώλησης καφέ που σας δίνει καφέ με την εισαγωγή ενός κέρματος δολαρίου, αλλά δεν ανταποκρίνεται εάν μπει κάτι λιγότερο από ένα δολάριο σε αυτό. Για τον προγραμματισμό τέτοιων μηχανών χρησιμοποιείται η γλώσσα TCCN3. Για να ανταποκριθεί η μηχανή του καφέ κατά την εισαγωγή ενός κέρματος, πρέπει να γράψουμε το στοιχείο TCCN-3 που συμπεριφέρεται ως καφετιέρα. Μας επιτρέπει να εκτελέσουμε τη δοκιμή μας προτού μια πραγματική μηχανή καφέ είναι διαθέσιμη ως προϊόν. Μόλις ολοκληρωθεί, θα συνδέσουμε τη δοκιμαστική σουίτα TCCN3 με την εξωτερική συσκευή.
Το σύστημα δοκιμής εκπέμπει ερεθίσματα (νόμισμα δολαρίου) και λαμβάνει απαντήσεις (καφές). Ο προσαρμογέας ερεθισμάτων λαμβάνει ερεθίσματα από το σύστημα δοκιμής και τα μεταβιβάζει στο υπό δοκιμή σύστημα. Ο προσαρμογέας απόκρισης περιμένει τις αποκρίσεις του υπό δοκιμή συστήματος και τις μεταβιβάζει στο δοκιμαστικό σύστημα.
Το TCCN3 μπορεί να χρησιμοποιηθεί σε διάφορους τομείς όπως
- Κινητές επικοινωνίες (LTE, WiMAX, 3G κ.λπ.)
- Ευρυζωνικές τεχνολογίες (ATM, DSL)
- Πλατφόρμες Middleware (Webservices, CORBA κ.λπ.)
- Πρωτόκολλο Διαδικτύου (SIP, IMS, IPv6)
- Έξυπνες κάρτες
- Αυτοκίνητο (AutoSAR, MOST, CAN)
Στο TCCN μπορούμε να ορίσουμε
- Δοκιμαστικές Σουίτες
- Test Cases
- Βήματα δοκιμής
- Δηλώστε μεταβλητές
- Δηλώστε χρονοδιακόπτες
- Δημιουργία PDU κ.λπ.
Το TCCN μπορεί να ενσωματωθεί με τύπους συστημάτων άλλων γλωσσών όπως το ASN.1, XML, Γ/C++. Η βασική γλώσσα TCCN3 υπάρχει σε μορφή κειμένου εκτός από άλλες μορφές όπως πίνακα, γραφική και παρουσίαση.