Βασικά στοιχεία δικτύων (Μέρος 2)

Στο πρώτο μέρος της σειράς “Βασικά στοιχεία δικτύων”, σας παρουσίασα τα βασικά στοιχεία των δικτύων, συμπεριλαμβανομένων των διευθύνσεων IP, των θυρών, του NAT και του DHCP.

basic4

Σε αυτό το δεύτερο μέρος, θα σας παρουσιάσω τα βασικά στοιχεία του TCP/IP, δηλαδή το Πρωτόκολλο Ελέγχου Μετάδοσης (TCP) και το Πρωτόκολλο Διαδικτύου (IP). Αυτά είναι τα πιο συνηθισμένα πρωτόκολλα που χρησιμοποιούνται στο διαδίκτυο για την επικοινωνία.

Για να γίνετε expert στα δίκτυα, θα πρέπει να κατανοήσετε τη δομή και την ανατομία αυτών των πρωτοκόλλων. Από την εμπειρία μου, πολλοί επαγγελματίες σε αυτούς τους τομείς δεν κατανοούν τα βασικά στοιχεία του TCP/IP, πράγμα που σημαίνει ότι θα έχετε σίγουρα πλεονέκτημα έναντι αυτών, αν κατανοείτε το TCP/IP.

Όταν προσπαθείτε να δημιουργήσετε ένα νέο εργαλείο hacking ή να διερευνήσετε μια επίθεση σε ένα δίκτυο, η κατανόηση αυτών των πρωτοκόλλων και των πεδίων τους είναι απαραίτητη. Διαφορετικά, θα σπαταλάτε απλώς τον χρόνο σας.

basic

Τι είναι τα πρωτόκολλα;

Τα πρωτόκολλα είναι απλώς ένας τρόπος επικοινωνίας. Για παράδειγμα, εμείς εδώ στο iguru έχουμε συμφωνήσει να γράφουμε άρθρα στην ελληνική γλώσσα με όλους τους κανόνες και τη γραμματική της ως τρόπο επικοινωνίας. Αυτό είναι το πρωτόκολλό μας. Αν δεν είχαμε έναν συμφωνημένο τρόπο επικοινωνίας, οι άνθρωποι θα χρησιμοποιούσαν πολλές γλώσσες, γραμματική και κανόνες και κανείς μας δεν θα καταλάβαινε τον άλλον.

Τα πρωτόκολλα είναι παρόμοια. Ένα πρωτόκολλο ορίζει απλώς έναν τρόπο επικοινωνίας με όλους τους κανόνες του. Αυτοί οι κανόνες ορίζονται συνήθως από ένα RFC (Request for Comments).

Υπάρχουν πάρα πολλά πρωτόκολλα που χρησιμοποιούνται στο διαδίκτυο. Σε αυτά περιλαμβάνονται τα TCP, IP, UDP, FTP, HTTP, SMTP κ.λ.π. και το καθένα έχει το δικό του σύνολο κανόνων που πρέπει να τηρούνται προκειμένου να επικοινωνούμε αποτελεσματικά (παρόμοια με τους κανόνες που χρησιμοποιούμε στην επικοινωνία μέσω γραπτών μηνυμάτων).

Πιθανώς τα δύο πιο σημαντικά πρωτόκολλα για χρήση στο διαδίκτυο είναι το IP και το TCP, οπότε ας ρίξουμε μια ματιά σε καθένα από αυτά.

basic1

IP (Πρωτόκολλο Διαδικτύου)

Το IP ή Internet Protocol είναι το πρωτόκολλο που χρησιμοποιείται για τον καθορισμό της διεύθυνσης IP της πηγής και προορισμού ενός πακέτου, καθώς αυτό διασχίζει το διαδίκτυο. Συχνά χρησιμοποιείται σε συνδυασμό με άλλα πρωτόκολλα όπως το TCP, εξ ου και ο συχνά χρησιμοποιούμενος συνδυασμός TCP/IP.

Ας ρίξουμε μια ματιά στην επικεφαλίδα ενός πακέτου IP και ας δούμε τι πληροφορίες περιέχει που μπορούν να φανούν χρήσιμες στον επίδοξο χάκερ ή/και στον ερευνητή συστημάτων ασφαλείας.

basic2

 

Row 1

  • Version: Καθορίζει την έκδοση της IP, είτε v4 είτε v6.

  • IHL: Καθορίζει το μήκος της επικεφαλίδας.

  • Type of Service (TOS): Καθορίζει τον τύπο της υπηρεσίας αυτού του πακέτου. Αυτές περιλαμβάνουν την ελαχιστοποίηση της καθυστέρησης, τη μεγιστοποίηση της απόδοσης, τη μεγιστοποίηση της αξιοπιστίας και την ελαχιστοποίηση του χρηματικού κόστους.

  • Total Length: Καθορίζει το συνολικό μήκος του IP datagram (συμπεριλαμβανομένων των δεδομένων) ή του fragment. Η μέγιστη τιμή του είναι 65.535.

Row2

  • Identification: Αυτό το πεδίο προσδιορίζει μοναδικά κάθε πακέτο. Μπορεί να είναι κρίσιμο για την επανασύνθεση κατακερματισμένων πακέτων.

  • IP Flags: Αυτό το πεδίο καθορίζει αν το πακέτο είναι κατακερματισμένο (M) ή όχι (D). Η χειραγώγηση του πεδίου μπορεί να χρησιμοποιηθεί για την αποφυγή IDS και firewalls. Μπορεί επίσης να χρησιμοποιηθεί σε συνδυασμό με το πεδίο Window για τον προσδιορισμό του λειτουργικού συστήματος του αποστολέα.

  • Fragment Offset: Αυτό το πεδίο χρησιμοποιείται όταν τα πακέτα κατακερματίζονται. Καθορίζει πού θα πρέπει να επανασυναρμολογηθούν τα πακέτα από την αρχή της επικεφαλίδας της IP.

Row 3

  • TTL: Αυτό καθορίζει πόσες διαδρομές στο διαδίκτυο θα διανύσει το πακέτο προτού λήξει. Διαφέρει ανάλογα με το λειτουργικό σύστημα, γεγονός που καθιστά χρήσιμο τον προσδιορισμό του λειτουργικού συστήματος του αποστολέα.

  • Protocol: Αυτό το πεδίο καθορίζει ποιο πρωτόκολλο χρησιμοποιείται με την IP. Τις περισσότερες φορές, είναι 6 για το TCP, 1 για το ICMP, 17 για το UDP, μεταξύ άλλων.

  • Header Checksum: Πρόκειται για πεδίο ελέγχου σφαλμάτων. Υπολογίζει το άθροισμα ελέγχου (ένας απλός αλγόριθμος) για να καθορίσει την ακεραιότητα των δεδομένων στην επικεφαλίδα.

Rows 4 & 5

  • Source / Destination: Αυτές οι γραμμές της επικεφαλίδας IP είναι ίσως το πιο σημαντικό μέρος της επικεφαλίδας, καθώς περιέχουν τη διεύθυνση IP πηγής και προορισμού.

Row 6

  • Options: Αυτό το πεδίο είναι μεταβλητού μήκους και η χρήση του είναι προαιρετική.

  • Padding: Το πεδίο αυτό χρησιμοποιείται για να συμπληρωθούν, εάν είναι απαραίτητο, τα υπόλοιπα bits και bytes της επικεφαλίδας.

 

TCP (Transmission Control Protocol)

Στην επικεφαλίδα TCP υπάρχουν πολλά κρίσιμα πεδία που πρέπει να κατανοήσει ο επίδοξος χάκερ.

basic3

Row 1

  • Source Port / Destination Port: Πιθανώς το πιο σημαντικό, είναι η θύρα προέλευσης και η θύρα προορισμού. Αυτά τα πεδία καθορίζουν από ποια θύρα προήλθε η επικοινωνία (πηγή) και πού πηγαίνει (προορισμός).

Row 2

  • Acknowledgement Number: Πρόκειται για μια ηχώ του αριθμού ακολουθίας που αποστέλλεται από το σύστημα λήψης. Ουσιαστικά λέει, “Έλαβα το πακέτο με το Sequence #”. Με αυτόν τον τρόπο, ο αποστολέας γνωρίζει ότι το πακέτο έφτασε. Εάν ο αποστολέας δεν λάβει πίσω έναν αριθμό επιβεβαίωσης σε ένα καθορισμένο χρονικό διάστημα, θα ξαναστείλει το πακέτο για να βεβαιωθεί ότι ο παραλήπτης έλαβε το πακέτο. Με αυτόν τον τρόπο, το TCP είναι αξιόπιστο (αντίθετα, το UDP δεν το κάνει αυτό και επομένως είναι αναξιόπιστο).

Row 4

Η τέταρτη σειρά περιέχει ορισμένες κρίσιμες πληροφορίες. Ας προσπεράσουμε τα πεδία Data Offset και Reserved. Αυτό μας οδηγεί σε 8 bits κοντά στη μέση της σειράς 4. Αυτά είναι τα περιβόητα flags της τριπλής χειραψίας και των σαρώσεων του Nmap.

Τα δύο πρώτα bit, CWR και ECE, ξεφεύγουν από το αντικείμενο αυτού του οδηγού. Τα επόμενα έξι bit είναι τα flags URG, ACK, PSH, RST, SYN και FIN. Αυτά τα flags χρησιμοποιούνται από το TCP για την επικοινωνία:

  • SYN: Η έναρξη μιας νέας σύνδεσης.

  • FIN: Το κανονικό, “ήπιο” κλείσιμο μιας σύνδεσης.

  • ACK: Η επιβεβαίωση ενός πακέτου. Όλα τα πακέτα μετά την τριμερή χειραψία θα πρέπει να έχουν αυτό το bit ρυθμισμένο.

  • RST: Το αναγκαστικό κλείσιμο μιας σύνδεσης και συνήθως χρησιμοποιείται για να γνωστοποιήσει ότι το πακέτο έφτασε σε λάθος θύρα ή IP.

  • URG: Αυτό το flag υποδεικνύει ότι τα ακόλουθα δεδομένα είναι επείγοντα.

  • PSH: Προωθήστε τα δεδομένα πέρα από το buffer στην εφαρμογή.

Αν είστε εξοικειωμένοι με το Nmap ή το Hping3 ως εργαλεία αναγνώρισης, έχετε χρησιμοποιήσει σαρώσεις που χρησιμοποιούν όλα αυτά τα flags. Δημιουργώντας πακέτα με συνδυασμούς flags που δεν θα έπρεπε να εμφανίζονται, μπορεί να είμαστε σε θέση να αποσπάσουμε μια απάντηση από ένα ασφαλές σύστημα ή ακόμη και να αποφύγουμε την ανίχνευση.

  • Window Size: Σε ορισμένα διαγράμματα, αυτό περιγράφεται απλώς ως το πεδίο Window. Ο ρόλος του είναι να επικοινωνεί το μέγεθος του παραθύρου που έχει η στοίβα TCP για να αποθηκεύσει τα πακέτα. Αυτός είναι ο τρόπος με τον οποίο το TCP διαχειρίζεται τον έλεγχο ροής. Από την άποψη της αναγνώρισης ή της εγκληματολογίας, αυτό το πεδίο από μόνο του μπορεί να είναι αρκετό για την ταυτοποίηση του λειτουργικού συστήματος που έστειλε το πακέτο. Αυτό το πεδίο διαφέρει από λειτουργικό σύστημα σε λειτουργικό σύστημα και ακόμη και από SP σε SP. Λαμβάνοντας υπόψη αυτό το κομμάτι της πληροφορίας, μπορεί κανείς να προβλέψει με ακρίβεια περίπου 80% το λειτουργικό σύστημα που έστειλε το πακέτο. Στην πραγματικότητα, είναι αυτό το πεδίο και μερικά άλλα (DF και TTL στην επικεφαλίδα IP) που χρησιμοποιούν τέτοιου είδους αποτυπώματα λειτουργικών συστημάτων όπως το p0f για να προσδιορίσουν το λειτουργικό σύστημα.

Row 5

  • Checksum: Αυτό το πεδίο χρησιμοποιεί έναν απλό αλγόριθμο για τον έλεγχο σφαλμάτων. Στην ουσία, είναι ένας ελεγκτής ακεραιότητας.

  • URG Pointer: Το πεδίο αυτό δείχνει το τελευταίο byte του αριθμού ακολουθίας των επειγόντων δεδομένων. Η σημαία URG πρέπει να τεθεί σε συνδυασμό με την ενεργοποίηση αυτού του πεδίου.

Row 6

  • Options: Όπως και η επικεφαλίδα IP, η επικεφαλίδα TCP έχει ένα πεδίο επιλογών που μπορεί να χρησιμοποιηθεί εάν είναι απαραίτητο και έχει ποικίλο μήκος.

  • Padding: Η συμπλήρωση είναι απαραίτητη για να γίνει η επικεφαλίδα TCP πολλαπλάσια των 32 bit.

Αν έχετε απορίες σχετικά με αυτά τα βασικά στοιχεία του TCP/IP, ρωτήστε στα σχόλια παρακάτω και θα προσπαθήσουμε να σας βοηθήσουμε να τα καταλάβετε καλύτερα.

Και κάπου εδώ φτάσαμε στο τέλος και στο δεύτερο μέρος της σειράς οδηγών “Βασικά στοιχεία δικτύων”. Προς το παρόν έχουμε κατανοήσει τις βασικές έννοιες των δικτύων. Μείνετε συντονισμένοι γιατί τα καλύτερα έρχονται!

iGuRu.gr The Best Technology Site in Greeceggns

Get the best viral stories straight into your inbox!















Written by Anastasis Vasileiadis

Οι μεταφράσεις είναι σαν τις γυναίκες. Όταν είναι ωραίες δεν είναι πιστές και όταν είναι πιστές δεν είναι ωραίες.

2 Comments

Leave a Reply
  1. Είναι δυνατή η λήψη των δύο (ή και μελλοντικών άρθρων) σε μορφή pdf;

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).