Πριν μάθουμε για τις δοκιμές πρωτοκόλλου, ας καταλάβουμε:
Τι είναι το πρωτόκολλο;
Όταν ένας υπολογιστής επικοινωνεί μεταξύ τους, υπάρχει ένα κοινό σύνολο κανόνων και προϋποθέσεων που πρέπει να ακολουθεί κάθε υπολογιστής. Με άλλα λόγια, τα πρωτόκολλα καθορίζουν τον τρόπο μετάδοσης δεδομένων μεταξύ υπολογιστικών συσκευών και μέσω δικτύων.
Δοκιμή πρωτοκόλλου
Protocol Testing είναι μια μέθοδος ελέγχου πρωτοκόλλων επικοινωνίας στους τομείς Switching, Wireless, VoIP, Routing, κ.λπ. Ο πρωταρχικός στόχος της δοκιμής πρωτοκόλλου είναι ο έλεγχος της δομής των πακέτων που αποστέλλονται μέσω δικτύου χρησιμοποιώντας εργαλεία δοκιμών πρωτοκόλλου. Οι δρομολογητές και οι διακόπτες χρησιμοποιούνται κατά τη διάρκεια της δοκιμής για τη διαμόρφωση τμημάτων συσκευών και προϊόντων που βρίσκονται υπό δοκιμή.
Πρωτόκολλα δρομολόγησης και δρομολόγησης
Τα πρωτόκολλα ταξινομούνται σε δύο κατηγορίες πρωτόκολλα δρομολόγησης και πρωτόκολλα δρομολόγησης
- Δρομολογημένα πρωτόκολλα : Τα δρομολογημένα πρωτόκολλα μπορούν να χρησιμοποιηθούν για την αποστολή δεδομένων χρήστη από ένα δίκτυο σε άλλο δίκτυο. Μεταφέρει την κίνηση των χρηστών όπως e-mail, web-traffic, μεταφορά αρχείων κ.λπ. Τα πρωτόκολλα που δρομολογούνται είναι IP, IPX και AppleTalk.
- Πρωτόκολλα δρομολόγησης : Τα πρωτόκολλα δρομολόγησης είναι πρωτόκολλα δικτύου που καθορίζουν διαδρομές για δρομολογητές. Χρησιμοποιείται μόνο μεταξύ δρομολογητών. Για παράδειγμα RIP, IGRP, EIGRP κ.λπ.
Με απλά λόγια, ένας δρομολογητής είναι σαν ένα λεωφορείο που χρησιμοποιείται για μεταφορά, ενώ τα πρωτόκολλα δρομολόγησης είναι σήματα στο δρόμο.
Με βάση τον τύπο επικοινωνίας χρησιμοποιούνται διαφορετικά πρωτόκολλα. Εταιρείες όπως η CISCO, η JUNIPER, η ALCATEL παράγουν συσκευές δικτύωσης όπως δρομολογητές, μόντεμ, ασύρματα σημεία πρόσβασης κ.λπ. που χρησιμοποιούν διαφορετικά πρωτόκολλα για επικοινωνία, για παράδειγμα, η Cisco χρησιμοποιεί EIGRP, OSPF κ.λπ. Η δοκιμή πρωτοκόλλου δεν είναι τίποτα άλλο από τον έλεγχο εάν το EIGRP (Enhanced Interior Gateway Routing Protocol) ή OSPF (Open Shortest Path First) ή οποιοδήποτε άλλο πρωτόκολλο λειτουργεί σύμφωνα με το αντίστοιχο πρότυπο.
Τύποι πρωτοκόλλων υπολογιστών
Τύποι πρωτοκόλλων | Σκοπός των πρωτοκόλλων |
---|---|
TCP / IP | Χρησιμοποιείται για την αποστολή πληροφοριών σε μικρά πακέτα μέσω του Διαδικτύου |
UDP / ICMP | Χρησιμοποιείται για την αποστολή μικρού αριθμού πληροφοριών σε πακέτα δεδομένων μέσω του Διαδικτύου |
POP3 και SMTP | Χρησιμοποιείται για την αποστολή και λήψη αλληλογραφίας |
Πρωτόκολλο μεταφοράς υπερκειμένου | Χρησιμοποιείται για τη μεταφορά σελίδας HTML σε κρυπτογραφημένη μορφή για την παροχή ασφάλειας σε ευαίσθητα δεδομένα |
FTP | Χρησιμοποιείται για τη μεταφορά αρχείων μέσω δικτύου από τον ένα κόμβο στον άλλο |
* TCP / IP - Πρωτόκολλο ελέγχου μετάδοσης / Πρωτόκολλο Διαδικτύου, UDP / ICMP - Πρωτόκολλο βάσης δεδομένων χρήστη / Πρωτόκολλο μηνύματος ελέγχου Διαδικτύου, POP3 / SMTP - Πρωτόκολλο ταχυδρομείου / Απλό πρωτόκολλο μεταφοράς αλληλογραφίας, HTTP - Πρωτόκολλο μεταφοράς κειμένου Hyper, 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 σε δρομολογητή κ.λπ.
Δείγμα περιπτώσεων δοκιμής για δοκιμή πρωτοκόλλου συσκευών δικτύου
Ακολουθεί το δείγμα δοκιμαστικής περίπτωσης για δρομολογητές
Όνομα δοκιμής | Θήκες δοκιμής |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Εργαλεία για δοκιμές πρωτοκόλλου
Ας συζητήσουμε τα πιο σημαντικά εργαλεία δοκιμών που χρησιμοποιούνται για την επαλήθευση πρωτοκόλλων
Scapy για χειροτεχνία πακέτων
Το Scapy είναι ένα ισχυρό διαδραστικό πρόγραμμα χειρισμού πακέτων. Σας επιτρέπει να
- Δημιουργήστε πακέτα
- Αποκωδικοποίηση πακέτων στο δίκτυο
- Καταγράψτε πακέτα και αναλύστε τα
- Εισάγετε πακέτα στο δίκτυο
Έτσι, βασικά, η scapy κάνει κυρίως δύο πράγματα: τη λήψη απαντήσεων και την αποστολή πακέτων . Ορίζετε τα πακέτα, τα στέλνει, λαμβάνει απαντήσεις, ταιριάζει αιτήματα με απαντήσεις και επιστρέφει μια λίστα ζευγαριών πακέτων και μια λίστα απαράμιλλων πακέτων.
Μπορεί επίσης να χειριστεί άλλα πράγματα, όπως ιχνηλασία-δρομολόγηση, δοκιμές μονάδων, επιθέσεις ή ανακάλυψη δικτύου, ανάπτυξη νέων πρωτοκόλλων, διερεύνηση κ.λπ.
Το Scapy μας δίνει τη δυνατότητα να γράφουμε ένα σενάριο Python που μας επιτρέπει να εκτελούμε μια εργασία όπως η αποστολή και λήψη πακέτων ή η εισπνοή πακέτων. Για παράδειγμα, το scapy μπορεί να μυρίσει το πακέτο δεδομένων χρησιμοποιώντας ένα σενάριο Python. Η εντολή για να ανοίξετε το getdit που έχει εισαχθεί στον επεξεργαστή
#gedit scapysniff.py#! / usr / bin / env pythonαπό scapy.all εισαγωγή *a = sniff (μέτρηση = 10)α. Περίληψη ()αποθήκευση και αλλαγή της λειτουργίας του αρχείου σε εκτελέσιμη φόρμα# chmod + x scapysniff.py# ./scaotsbuff.py
Θα εισπνεύσει 10 πακέτα και μόλις εισπνεύσει 10 πακέτα θα εκτυπώσει τη σύνοψη. Scapy επίσης ως μια σειρά εντολών για την αποστολή και λήψη πακέτων ταυτόχρονα
Κατεβάστε το Scapy
Εργαλεία Wireshark για ανάλυση
Εργαλεία που χρησιμοποιούνται για δοκιμές πρωτοκόλλου - Wireshark. Επιτρέπει τη λήψη πακέτων σε πραγματικό χρόνο και την προβολή τους σε μορφή αναγνώσιμη από τον άνθρωπο. Σας επιτρέπει να σκάψετε βαθιά στην κίνηση του δικτύου και να ελέγξετε μεμονωμένα πακέτα χρησιμοποιώντας χρωματική κωδικοποίηση και φίλτρα.
Το Wireshark καταγράφει πακέτα που βοηθούν να προσδιοριστεί πότε η περίοδος λειτουργίας καθιερώνεται, πότε ξεκίνησε το ακριβές ταξίδι δεδομένων και πόσα δεδομένα αποστέλλονται κάθε φορά κλπ
Το Wireshark διαθέτει μια σειρά από πλούσια χαρακτηριστικά που περιλαμβάνει
- Μια εμπεριστατωμένη επιθεώρηση εκατοντάδων πρωτοκόλλων, περισσότερα προστίθενται συνεχώς
- Ζωντανή λήψη και ανάλυση εκτός σύνδεσης
- Πλούσια ανάλυση VoIP
- Τυπικό πρόγραμμα περιήγησης με τρία παράθυρα
- Εκτελείται σε πολλαπλές πλατφόρμες όπως Windows, Linux, OSX και ούτω καθεξής
- Τα καταγεγραμμένα δεδομένα δικτύου μπορούν να αναζητηθούν μέσω GUI
- Η αποκρυπτογράφηση υποστηρίζει πολλά πρωτόκολλα όπως IPsec, ISAKMP, SSL / TLS
- Μπορείτε να διαβάσετε ζωντανά δεδομένα από Ethernet, ATM, Bluetooth, USB, token κ.λπ.
- Η έξοδος μπορεί να εξαχθεί σε CSV, XML, απλό κείμενο κ.λπ.
Λήψη Wireshark
TTCN
Το TCCN είναι μια τυπική γλώσσα δοκιμών για τον καθορισμό του σεναρίου δοκιμής και της εφαρμογής τους για δοκιμές πρωτοκόλλου Μια δοκιμαστική σουίτα TCCN περιέχει πολλές δοκιμαστικές θήκες γραμμένες στη γλώσσα προγραμματισμού TTCN και χρησιμοποιείται για τη δοκιμή αντιδραστικών συστημάτων ή δοκιμών συμπεριφοράς .
Για παράδειγμα, ένα μηχάνημα αυτόματης πώλησης καφέ που σας δίνει καφέ κατά την εισαγωγή ενός νομίσματος δολαρίου αλλά δεν αποκρίνεται εάν εισαχθεί κάτι λιγότερο από ένα δολάριο σε αυτό. Για τον προγραμματισμό τέτοιων μηχανών χρησιμοποιείται γλώσσα TCCN3. Για να κάνουμε την καφετιέρα να ανταποκρίνεται κατά την εισαγωγή ενός νομίσματος, πρέπει να γράψουμε το στοιχείο TCCN-3 που συμπεριφέρεται ως καφετιέρα. Μας επιτρέπει να πραγματοποιήσουμε τη δοκιμή μας προτού διατεθεί μια πραγματική μηχανή καφέ ως προϊόν. Μόλις ολοκληρωθεί, θα συνδέσουμε τη δοκιμαστική σουίτα TCCN3 με την εξωτερική συσκευή.
Το σύστημα δοκιμής εκπέμπει ερεθίσματα (νόμισμα δολαρίου) και λαμβάνει απαντήσεις (καφές). Ο προσαρμογέας ερεθισμάτων λαμβάνει ερεθίσματα από το σύστημα δοκιμής και τα περνά στο υπό δοκιμή σύστημα. Ο προσαρμογέας απόκρισης περιμένει τις απαντήσεις του υπό δοκιμή συστήματος και τις μεταφέρει στο σύστημα δοκιμής.
Το TCCN3 μπορεί να χρησιμοποιηθεί σε διάφορα πεδία όπως
- Κινητές επικοινωνίες (LTE, WiMAX, 3G κ.λπ.)
- Ευρυζωνικές τεχνολογίες (ATM, DSL)
- Πλατφόρμες Middleware (Υπηρεσίες Web, CORBA κ.λπ.)
- Πρωτόκολλο Διαδικτύου (SIP, IMS, IPv6)
- Έξυπνες κάρτες
- Αυτοκίνητο (AutoSAR, MOST, CAN)
Στο TCCN μπορούμε να ορίσουμε
- Test Suites
- Θήκες δοκιμής
- Βήματα δοκιμής
- Δηλώστε μεταβλητές
- Δήλωση χρονομέτρων
- Δημιουργία PDU κ.λπ.
Το TCCN μπορεί να ενσωματωθεί σε τύπους συστημάτων άλλων γλωσσών όπως ASN.1, XML, C / C ++. Η βασική γλώσσα του TCCN3 υπάρχει σε μορφή κειμένου εκτός από άλλες μορφές όπως πίνακας, γραφική παράσταση και παρουσίαση.