(spp_icmpspoof) ΚΕΦΑΛΑΙΟ 6. Ανίχνευσης του Icmp Echo spoofing. ( spp_icmpspoof ) Πτυχιακή Εργασία Σ ελίδα 173

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "(spp_icmpspoof) ΚΕΦΑΛΑΙΟ 6. Ανίχνευσης του Icmp Echo spoofing. ( spp_icmpspoof ) Πτυχιακή Εργασία Σ ελίδα 173"

Transcript

1 ΚΕΦΑΛΑΙΟ 6 Πρόγραμμα Ανίχνευσης του Icmp Echo spoofing ( spp_icmpspoof ) Πτυχιακή Εργασία Σ ελίδα 173

2 Περιεχόμενα ΜΕΡΟΣ Α: Γενική Περιγραφή του Προγράμματος Ενσωμάτωση του Προγράμματος στο Snort 175 Χρήση Παράμετροι Εκτέλεσης του Προγράμματος Η Λειτουργία του Προγράμματος ΜΕΡΟΣ Β: Περιγραφή των Συνδεδεμένων Λιστών του Προγράμματος. 182 Οι Inbound / Outbound Λίστες 184 Οι Λίστες Ανακύκλωσης ΜΕΡΟΣ C: Περιγραφή των Συναρτήσεων του Προγράμματος Πτυχιακή Εργασία Σ ελίδα 174

3 ΜΕΡΟΣ Α: Γενική Περιγραφή του Προγράμματος Το πρόγραμμα αυτό έχει γραφτεί σαν ένα plug-in στο Snort το οποίο παρουσιάστηκε στο Κεφάλαιο 5, με σκοπό να αυξήσει την λειτουργικότητά του, προσθέτοντας σε αυτό την δυνατότητα ανίχνευσης μιας ακόμα κατηγορίας ύποπτων πακέτων που μπορεί να χρησιμοποιηθούν για μία δικτυακή επίθεση. Το plug-in αυτό ανήκει στους preprocessors του Snort, δηλαδή στα κομμάτια του κώδικα που εκτελούνται μετά το Decode Engine και πριν το Detection Engine, είναι γραμμένο σε γλώσσα προγραμματισμού C όπως και ο υπόλοιπος κώδικας του Snort και έχει το όνομα spp_icmpspoof. Στόχος του συγκεκριμένου προγράμματος είναι να υλοποιήσει την Τεχνική Ανίχνευσης του Icmp Echo spoofing όπως αυτή περιγράφηκε λεπτομερώς στο Κεφάλαιο 4. Το πρόγραμμα αυτό εκτελείται σαν μία επέκταση του Snort, το οποίο μπορεί να είναι εγκατεστημένο στην συσκευή Sensor όπως αυτή αναφέρθηκε στο Κεφάλαιο 4. Για ευκολότερη αντίληψη της λειτουργίας του προγράμματος, επιβάλλεται η ανάγνωση και κατανόηση των διαδικασιών που περιγράφηκαν στο Κεφάλαιο 4, καθώς και της περιγραφής της δομής του Snort που έγινε στο Κεφάλαιο 5. Ο icmpspoof preprocessor εκμεταλλεύεται την ικανότητα του Snort να αποκωδικοποιεί και να αναλύει τα πακέτα που ανήκουν στο traffic ενός δικτύου, και στην συνέχεια επεξεργάζεται τα πακέτα που τον ενδιαφέρουν, με σκοπό να ανιχνεύσει τα Icmp Echo Request και Icmp Echo Reply πακέτα που εισέρχονται και εξέρχονται από το δίκτυο που προστατεύει το Snort και τα οποία έχουν ψεύτικη διεύθυνση αποστολέα. Το αποτέλεσμα του preprocessor είναι η επισήμανση του γεγονότος, με την καταγραφή σε ένα αρχείο, του πακέτου που οδήγησε στην ανίχνευσή του spoofing, ακολουθούμενο από ένα σενάριο που δημιουργείται δυναμικά και περιγράφει τον τρόπο με τον οποίο το spoofing υλοποιήθηκε, όσο αναφορά την θέση του κάθε συστήματος που πήρε μέρος στην διαδικασία σε σχέση με το προστατευόμενο δίκτυο. Έτσι με την χρήση του συγκεκριμένου preprocessor είναι δυνατή η ανίχνευση των spoofed Icmp Echo Request / Reply πακέτων: Τα οποία στέλνονται σε κάποιο από τα προστατευόμενα δίκτυα H ψεύτικη διεύθυνση αποστολέα που έχουν, ανήκει σε κάποιο από τα προστατευόμενα δίκτυα. Ενσωμάτωση του Προγράμματος στο Snort Το συγκεκριμένο πρόγραμμα ανήκει στην κατηγορία των preprocessor plug-ins του Snort. Το πρόγραμμα αυτό αποτελείται από δύο αρχεία. Το spp_icmpspoof.c το οποίο περιέχει τον πηγαίο κώδικα που υλοποιεί την λειτουργία του preprocessor και το spp_icmpspoof.h το οποίο περιέχει τους ορισμούς κάποιων συναρτήσεων του προγράμματος. Πτυχιακή Εργασία Σ ελίδα 175

4 Για να μπορέσει ο συγκεκριμένος preprocessor να ενσωματωθεί στον υπόλοιπο κώδικα του Snort έγιναν οι εξής ενέργειες : 1. Προστέθηκε η δήλωση #include spp_icmpspoof.h στο αρχείο plugbase.h του Snort, στο σημείο που βρίσκονται και οι υπόλοιπες #include δηλώσεις που αφορούν τους preprocessors του Snort. 2. Στο αρχείο plugbase.c του Snort προστέθηκε μέσα στην συνάρτηση InitPreprocessors() η κλήση της συνάρτησης SetupIcmpSpoof() η οποία ανήκει στον spp_icmpspoof preprocessor. Με τον τρόπο αυτό θα γίνουν οι απαραίτητες αρχικοποιήσεις του preprocessor όταν ξεκινήσει η εκτέλεση του Snort. 3. Στο αρχείο Makefile.am του Snort και στο κομμάτι με τον τίτλο snort_sources, προστέθηκαν τα ονόματα των δύο αρχείων του preprocessor (spp_icmpspoof.c και spp_icmpspoof.h) έτσι ώστε να συμπεριληφθεί και ο κώδικάς τους κατά την μεταγλώττιση (compilation) του Snort. 4. Εκτελέστηκε η μεταγλώττιση (compilation) του Snort με την εντολή automake. Μετά από αυτά τα βήματα ο νέος preprocessor αποτελεί μέρος του κώδικα του Snort. Χρήση Παράμετροι Εκτέλεσης του Προγράμματος Για την εκτέλεση του preprocessor μπορούν να οριστούν παράμετροι που θα καθορίσουν την λειτουργία του ανάλογα με τις ανάγκες του εκάστοτε χρήστη και του δικτύου που έχει σκοπό να προστατέψει. Οι παράμετροι αυτοί ορίζονται ανεξάρτητα από τις παραμέτρους με τις οποίες θα εκτελεστεί το Snort και αναγράφονται στο configuration αρχείο του Snort (συνήθως το snort.conf) στο σημείο που θα δηλωθεί και το όνομα του preprocessor, ώστε να ενεργοποιηθεί και αυτός με την εκτέλεση του Snort. Η δήλωση του preprocessor και των παραμέτρων του έχει την μορφή : preprocessor icmpspoof: <Protected Nets(s)> <Timeout Value> <Log Dir/File> Ο συγκεκριμένος preprocessor, όπως φαίνεται και στην παραπάνω δήλωση, μπορεί να δεχτεί μέχρι και τρεις παραμέτρους, οι οποίες πρέπει να διαχωρίζονται με έναν κενό χαρακτήρα μεταξύ τους. Το λεκτικό icmpspoof είναι το όνομα (keyword) του preprocessor και πρέπει να ακολουθείται από τα : πριν από την δήλωση των παραμέτρων του. Στη συνέχεια περιγράφεται η χρήση και η λειτουργία των παραμέτρων αυτών: 1η Παράμετρος: Προστατευόμενα Δίκτυα ( Protected Net(s) ). Mε αυτή την παράμετρο ορίζονται τα δίκτυα τα οποία επιθυμεί ο χρήστης να ελέγχονται για την διέλευση τυχόν spoofed Icmp Echo πακέτων. Ο χρήστης μπορεί να ορίσει ένα ή περισσότερα δίκτυα με CIDR τρόπο γραφής. Σε περίπτωση που δηλωθούν περισσότερα του ενός δίκτυα, τότε αυτά πρέπει να διαχωρίζονται με ένα κόμμα (, ) μεταξύ τους (χωρίς κενούς χαρακτήρες). Πτυχιακή Εργασία Σ ελίδα 176

5 Επίσης σαν τιμή σε αυτήν την παράμετρο μπορεί να χρησιμοποιηθεί και η μεταβλητή $HOME_NET του Snort. Η παράμετρος αυτή είναι υποχρεωτική. 2η Παράμετρος: Τιμή Χρόνου Παραμονής των Πακέτων ( Timeout value ). Η παράμετρος αυτή ορίζει τον χρόνο σε δευτερόλεπτα που θεωρείται αρκετός να αναμένεται μία απάντηση (για παράδειγμα ένα Icmp Echo Reply) για ένα Icmp Echo Request πακέτο. Ο καθορισμός αυτής της παραμέτρου παίζει σημαντικό ρόλο στην απόδοση και την αξιοπιστία του preprocessor. Αν δοθεί μία μεγάλη τιμή σε αυτή, τότε θα αυξηθεί άσκοπα ο χρόνος εκτέλεσης του preprocessor όπως επίσης και το μέγεθος της μνήμης που χρησιμοποιεί. Αντίθετα αν δοθεί μία αρκετά μικρή τιμή σε αυτή, τότε είναι πιθανό να μειωθεί η αξιοπιστία του preprocessor όσο αναφορά την ανίχνευση των spoofed πακέτων. Ο ορισμός αυτής της παραμέτρου από τον χρήστη δεν είναι υποχρεωτικός και αν δεν δοθεί κάποια τιμή τότε θα χρησιμοποιηθεί η εξ ορισμού τιμή των 3 δευτερολέπτων. 3η Παράμετρος: Κατάλογος και Αρχείο Καταγραφής ( Log Dir /File ). Με την παράμετρο αυτή ορίζεται το αρχείο στο οποίο θα καταγράφονται τα γεγονότα που ανιχνεύτηκαν. Ο κατάλογος και η πλήρης διαδρομή που οδηγεί σε αυτόν πρέπει ήδη να υπάρχουν, ενώ το αρχείο θα δημιουργηθεί κατά την εκτέλεση του preprocessor. Αυτή η παράμετρος είναι επίσης προαιρετική και αν δεν δοθεί κάποια τιμή σε αυτή τότε τα γεγονότα θα καταγράφονται στο εξ ορισμού αρχείο EchoSpoofs το οποίο θα δημιουργηθεί κατά την εκτέλεση του preprocessor μέσα στον κατάλογο που χρησιμοποιεί το Snort (συνήθως στον /var/log/snort/ ) για να καταγράφει τα δικά του αποτελέσματα. Σημείωση : Αν δοθεί μόνο η 1 η παράμετρος τότε οι άλλες δύο θα πάρουν τις εξ ορισμού τιμές τους. Αν δεν δοθεί η 2 η παράμετρος και δηλωθεί η 3 η τότε πρέπει να δοθεί στην 2 η παράμετρο η τιμή 0 για να χρησιμοποιηθεί η εξ ορισμού τιμή της. Για να γίνει καλύτερα κατανοητή η χρήση των παραμέτρων δίνονται μερικά παραδείγματα : preprocessor icmpspoof: /24 4 /tmp/spoofs.log Όλες οι παράμετροι είναι ορισμένες από τον χρήστη. Το προστατευόμενο δίκτυο είναι το με μάσκα 24 (δηλαδή τα συστήματα με IP διεύθυνση από έως ). Για κάθε Icmp Echo Request πακέτο που εντοπίζεται, θα αναμένεται κάποια απάντηση σε αυτό για διάστημα τεσσάρων δευτερολέπτων, ενώ τα αποτελέσματα του preprocessor θα καταγράφονται στο αρχείο /tmp/spoofs.log. preprocessor icmpspoof: /24 Η 2 η και οι 3 η παράμετρος θα πάρουν τις εξ ορισμού τιμές τους. preprocessor icmpspoof: /24 4 Πτυχιακή Εργασία Σ ελίδα 177

6 Η 3 η παράμετρος θα πάρει την εξ ορισμού τιμή της. preprocessor icmpspoof: /24 0 /tmp/spoofs.log Η 2 η παράμετρος θα πάρει την εξ ορισμού τιμή της. preprocessor icmpspoof: /24, /32 4 / tmp/spoofs.log Όλες οι παράμετροι είναι ορισμένες από τον χρήστη και έχουν δηλωθεί δύο δίκτυα τα οποία θα ελέγχονται για τυχόν διέλευση spoofed Icmp Echo πακέτων. Η Λειτουργία του Προγράμματος Ο preprocessor εκτελείται κάθε φορά που το Snort επεξεργάζεται ένα πακέτο. Η λειτουργία του στηρίζεται στη αντιστοίχηση των εισερχόμενων και εξερχόμενων από το προστατευόμενο δίκτυο Icmp Echo Request πακέτων, με άλλα Icmp πακέτα που εντοπίζονται και υποτίθεται ότι σχετίζονται με κάποιο Icmp Echo Request. Για την επίτευξη του στόχου του ο preprocessor κρατάει ένα είδος ιστορικού των Icmp Echo Request πακέτων που εισέρχονται και εξέρχονται από τα δίκτυα που προστατεύει. Η διαδικασία αυτή υλοποιείται με την χρήση δύο δυναμικών συνδεδεμένων λιστών, μία για τα εισερχόμενα και μία για τα εξερχόμενα από το προστατευόμενο δίκτυο Icmp Echo Request πακέτα. Οι λίστες αυτές ονομάζονται Inbound και Outbound Lists και σε αυτές δεν καταχωρούνται ολόκληρα τα Icmp Echo Request πακέτα, αλλά μόνο οι πληροφορίες που θεωρούνται απαραίτητες για την επεξεργασία τους. Οι πληροφορίες που πρέπει να αποθηκευτούν για το κάθε Icmp Echo Request πακέτο είναι : Η Διεύθυνση Αποστολέα του πακέτου Η Διεύθυνση Παραλήπτη του πακέτου Ο Χρόνος Άφιξης του πακέτου Σχήμα Α-1: Πληροφορία του Icmp Echo Request πακέτου προς αποθήκευση Οι κύριες ενέργειες που εκτελεί το πρόγραμμα και αποτελούν την λειτουργία του είναι : 1. Εισαγωγή των Echo Requests στις Inbound/Outbound Λίστες 2. Αναζήτηση στις Inbound/Outbound Λίστες - Ανίχνευση του spoofing. 3. Καθαρισμός των Inbound/Outbound Λιστών από τα πακέτα που θεωρούνται παλιά. 4. Επισήμανση Καταγραφή του spoofing (εάν αυτό υφίσταται). Πτυχιακή Εργασία Σ ελίδα 178

7 Η ενέργεια 1 εκτελείται όταν εντοπιστεί ένα Icmp Echo Request πακέτο, ενώ οι ενέργειες 2 και 4 εκτελούνται για τα Icmp πακέτα που εντοπίζονται και πρέπει να ελεγχθούν για το αν έχουν λόγο ύπαρξης, με την έννοια ότι έχει προηγηθεί κάποιο αποθηκευμένο Icmp Echo Request πακέτο που οδήγησε στην δημιουργία τους. Η ενέργεια 3 εκτελείται μετά από κάθε εκτέλεση της ενέργειας 1 ή της ενέργειας 2. Στη συνέχεια περιγράφονται αναλυτικά οι παραπάνω λειτουργίες: 1. Εισαγωγή Στις Inbound/Outbound Λίστες Η εισαγωγή πραγματοποιείται όταν ένα Icmp Echo Request πακέτο γίνει αντιληπτό. Ανάλογα με την προέλευση και τον προορισμό του πακέτου, αυτό θα καταχωρηθεί στην κατάλληλη λίστα, αφού πρώτα γίνουν οι απαραίτητοι έλεγχοι για το αν αυτό τηρεί τις παρακάτω προϋποθέσεις : a) Το πακέτο που εντοπίζεται πρέπει να είναι ένα ολόκληρο πακέτο και όχι κάποιο fragment του. Χάρη στις δυνατότητες του Snort τα πακέτα που δεν είναι ολόκληρα, αλλά έχουν κατακερματιστεί, επανασυγκροτούνται με την χρήση άλλου preprocessor (spp_frag2) ο οποίος θα δώσει σαν αποτέλεσμα το ολοκληρωμένο πακέτο. Παρόλα αυτά ο κάθε preprocessor θα πάρει και όλα τα fragments που έχουν καταφθάσει πριν την επανασυγκρότηση του πακέτου και αυτά πρέπει να αγνοηθούν, όπως και γίνεται. Ο λόγος που ο icmpspoof preprocessor πρέπει να επεξεργάζεται μόνο ολόκληρα πακέτα, είναι γιατί αν το πακέτο έχει κατακερματιστεί, τότε το κάθε fragment του θα περιέχει μόνο ένα μέρος της πληροφορίας του πακέτου που απαιτείται για την λειτουργία του preprocessor, κάτι που θα οδηγούσε σε λανθασμένα συμπεράσματα. b) Το πακέτο που εντοπίζεται δεν πρέπει να έχει διεύθυνση αποστολέα και παραλήπτη, είτε που και οι δύο δεν ανήκουν σε κάποιο(α) από τα προστατευόμενα δίκτυα, είτε που και οι δύο ανήκουν σε κάποιο(α) από τα προστατευόμενα δίκτυα. Το 1 ο μέρος της προϋπόθεσης πρέπει να ισχύει έτσι ώστε ο preprocessor να μην επεξεργάζεται πακέτα που δεν ενδιαφέρουν τα δίκτυα που προστατεύει, ενώ το 2 ο μέρος της προϋπόθεσης πρέπει να ισχύει έτσι ώστε ο preprocessor να μην επεξεργάζεται τα πακέτα που ανήκουν στο εσωτερικό traffic ενός προστατευόμενου δικτύου ή πακέτα που ανταλλάζουν δύο προστατευόμενα δίκτυα μεταξύ τους. Αυτό πρέπει να ισχύει καθώς ο icmpspoof preprocessor έχει σαν στόχο να ανιχνεύσει μόνο τα spoofed Icmp Echo πακέτα που εισέρχονται ή εξέρχονται από τα προστατευόμενα δίκτυα και έχουν σχέση με κάποιο σύστημα που δεν ανήκει σε αυτά. Για την εισαγωγή του πακέτου σε κάποια λίστα ισχύουν οι παρακάτω κανόνες : Η καταχώρησή του γίνεται πάντα στο τέλος της λίστας. Έτσι ο τελευταίος κόμβος της κάθε λίστας αφορά το τελευταίο Icmp Echo Request που καταγράφηκε και θα έχει τον μεγαλύτερο χρόνο από τους υπόλοιπους. Δεν επιτρέπονται διπλοεγγραφές στις λίστες. Αυτό έχει την έννοια ότι δεν επιτρέπεται η εισαγωγή ενός Echo Request, εάν στην ίδια λίστα υπάρχει κάποιο ήδη καταχωρημένο, με την ίδια διεύθυνση αποστολέα και την ίδια διεύθυνση παραλήπτη. Σε αυτήν την περίπτωση ο ήδη καταχωρημένος κόμβος θα μεταφερθεί στο τέλος της λίστας έχοντας τον νέο χρόνο που εντοπίστηκε το πακέτο. Πτυχιακή Εργασία Σ ελίδα 179

8 2. Ανίχνευση του Spoofing Η ανίχνευση πραγματοποιείται με την προσπάθεια αντιστοίχησης των καταχωρημένων Icmp Echo Request πακέτων με άλλα Icmp πακέτα που γίνονται αντιληπτά και μπορεί να έχουν κάποια σχέση με αυτά. Τα Icmp πακέτα που ελέγχονται και ο έλεγχος που γίνεται για το καθένα είναι : Τα Icmp Echo Reply για τα οποία ελέγχεται αν υπάρχουν καταχωρημένα τα αντίστοιχα Echo Request και Τα Icmp Destination Unreachable (codes 0/1 και 13) που περιέχουν ένα - Icmp Echo Request το οποίο ελέγχεται για το αν είναι καταχωρημένο σε κάποια λίστα - Icmp Echo Reply για το οποίο ελέγχεται αν υπάρχει καταχωρημένο το αντίστοιχο Echo Request Αν δεν πετύχει η αντιστοίχηση τότε η εμφάνιση αυτού του πακέτου θεωρείται ύποπτη και θα επισημανθεί ώστε να καταγραφεί το γεγονός του spoofing. Αν πετύχει η αντιστοίχηση τότε το πακέτο θεωρείται νόμιμο και δεν υφίσταται περίπτωση spoofing. Πριν ελεγχθεί κάποιο από τα παραπάνω πακέτα θα πρέπει να τηρεί τις ίδιες προϋποθέσεις με αυτές που ισχύουν για την εισαγωγή των Icmp Echo Request πακέτων, που αναφέρθηκαν παραπάνω. Για τα Icmp Destination Unreachable πακέτα η προϋπόθεση b που αφορά τις IP διευθύνσεις, ισχύει για το Icmp πακέτο που περιέχουν στα data τους, ενώ για το ίδιο το Unreachable ισχύει μόνο το ένα μέρος της προϋπόθεσης αυτό που καμία από τις διευθύνσεις δεν ανήκουν σε κάποιο (α) από τα προστατευόμενα δίκτυα. Το άλλο μέρος της προϋπόθεσης b (αυτό που και οι δύο διευθύνσεις ανήκουν σε κάποιο(α) από τα προστατευόμενα δίκτυο(α) ) δεν ισχύει για τα συγκεκριμένα πακέτα, γιατί έτσι θα αγνοούνταν τα πακέτα που στέλνονται από κάποιο router ή firewall που ανήκει σε κάποιο από τα προστατευόμενα δίκτυα, προς κάποιο προστατευόμενο δίκτυο. Επίσης ένα Icmp Destination Unreachable (codes 0/1) που περιέχει ένα Icmp Echo Reply πακέτο θα προκαλέσει την καταγραφή ενός γεγονότος spoofing, έστω και αν έχει βρεθεί καταχωρημένο σε κάποια λίστα το αντίστοιχο Icmp Echo Request που προκάλεσε την δημιουργία του Echo Reply που περιέχει το Unreachable. Αυτό συμβαίνει στις περιπτώσεις που αναφέρθηκαν στο ΜΕΡΟΣ Β του Κεφαλαίου 4 όταν ισχύει o Γενικός Κανόνας, κατά τον οποίο δεν είναι δυνατόν κάποιος host να στέλνει ένα Reply σε κάποιον που υποτίθεται ότι του έστειλε ένα Request και αυτός (ή το δίκτυό του) να μην υπάρχει. 3. Καθαρισμός Των Inbound/Outbound Λιστών Πτυχιακή Εργασία Σ ελίδα 180

9 Ο καθαρισμός των λιστών από πακέτα που θεωρούνται παλιά έχει σαν κριτήριο τον χρόνο που έχει κάθε καταχωρημένο πακέτο. Πραγματοποιείται ώστε να απομακρυνθούν πακέτα που έχουν ελεγχθεί ή για τα οποία δεν έχει εμφανιστεί κάποια απάντηση που να είναι μέσα στα χρονικά όρια που έχουν καθοριστεί με την παράμετρο Timeout που εκτελείται ο preprocessor. Τα καταχωρημένα πακέτα ελέγχονται για τον χρόνο τους πριν από κάθε νέα εισαγωγή και πριν από κάθε αναζήτηση για ανίχνευση και επισημαίνονται αυτά που πρέπει να απομακρυνθούν αν έχουν χρόνο μικρότερο από την διαφορά του χρόνου του πακέτου που μόλις εντοπίστηκε πλην την Timeout παράμετρο. Ο καθαρισμός της λίστας θα πραγματοποιηθεί μετά το πέρας της εισαγωγής ή της ανίχνευσης. Με τον καθαρισμό επιτυγχάνεται η βελτιστοποίηση της ταχύτητας του προγράμματος και η οικονομία του ποσού της μνήμης που χρησιμοποιεί, καθώς στις λίστες παραμένουν τα πακέτα που πραγματικά έχουν κάποιο ενδιαφέρον για να ελεγχθούν, με την έννοια ότι είναι πιθανό να καταφθάσει κάποιο πακέτο που να έχει σχέση με αυτά. Επίσης με τον καθαρισμό αποφεύγονται τυχόν λανθασμένα συμπεράσματα που μπορεί να εξαχθούν από συμπτωματικές συσχετίσεις που μπορεί να προκύψουν μεταξύ νέων πακέτων που εντοπίζονται με Icmp Echo Request πακέτα που έχουν καταχωρηθεί σε αρκετά προηγούμενο στάδιο και στην ουσία δεν έχουν κάποια σχέση μεταξύ τους. Κατά την διαγραφή των κόμβων από τις λίστες αυτοί μεταφέρονται σε μία άλλη λίστα η οποία ονομάζεται Λίστα Ανακύκλωσης. Αυτό συμβαίνει έτσι ώστε αυτοί οι κόμβοι να μπορούν να χρησιμοποιηθούν στο μέλλον για μία νέα εισαγωγή και να μην χρειάζεται να δεσμεύονται και να αποδεσμεύονται συνεχώς μικρά κομμάτια μνήμης με τους κινδύνους που αυτό εγκυμονεί. Η Λίστα Ανακύκλωσης είναι επίσης μία δυναμική συνδεδεμένη λίστα με κάποιο όμως προκαθορισμένο ανώτατο όριο του αριθμού των κόμβων που μπορούν να καταχωρηθούν σε αυτήν. 4. Καταγραφή Spoofing Η διαδικασία αυτή είναι που καταγράφει το γεγονός του spoofing όταν αυτό συμβαίνει. Το γεγονός έχει επισημανθεί από την διαδικασία της Ανίχνευσης του spoofing (Λειτουργία 2) και οι πληροφορίες που το αφορούν θα καταγραφούν στο αρχείο που έχει δοθεί σαν παράμετρος κατά την εκτέλεση του preprocessor. Σε αυτό το αρχείο θα καταγραφεί το Icmp πακέτο που οδήγησε στην Ανίχνευση του spoofing καθώς και ένα σενάριο που περιγράφει τον τρόπο με τον οποίο το spoofing πραγματοποιήθηκε. Το σενάριο αυτό δημιουργείται δυναμικά και λαμβάνει υπόψη του την λίστα που ελέγχθηκε και στην οποία δεν βρέθηκε το ζητούμενο Icmp Echo Request πακέτο, καθώς επίσης και το είδος του Icmp πακέτου που χρησιμοποιήθηκε για να γίνει η ανίχνευση. Το αποτέλεσμα είναι η επισήμανση και η καταγραφή του spoofing, αναφέροντας την IP διεύθυνση του παραλήπτη του spoofed πακέτου καθώς και την ψεύτικη IP διεύθυνση που χρησιμοποιήθηκε για την αποστολή του πακέτου. Επίσης αναφέρει αν το spoofed πακέτο προήλθε από κάποιο σύστημα που ανήκει στα προστατευόμενα δίκτυα ή αν προήλθε από κάποιο σύστημα που δεν ανήκει σε αυτά, δηλώνοντας την θέση του κάθε συστήματος που πήρε μέρος στο spoofing σε σχέση με το προστατευόμενο δίκτυο. Πτυχιακή Εργασία Σ ελίδα 181

10 ΜΕΡΟΣ Β: Περιγραφή των Συνδεδεμένων Λιστών του Προγράμματος Στις επόμενες σελίδες περιγράφονται οι δυναμικές λίστες που χρησιμοποιούνται στο πρόγραμμα και οι δομές δεδομένων οι οποίες υλοποιούν τους κόμβους τους. Οι λίστες αυτές είναι οι Inbound / Outbound Λίστες στις οποίες αποθηκεύονται τα εισερχόμενα και εξερχόμενα Icmp Echo Request πακέτα αντίστοιχα, καθώς και η Λίστα Ανακύκλωσης στην οποία μεταφέρονται οι κόμβοι των Inbound / Outbound Λιστών που χρειάστηκε να διαγραφούν. Κατά την άφιξη των πακέτων στον preprocessor γίνεται ένας αρχικός έλεγχος για το αν τα Icmp πακέτα τηρούν τις προϋποθέσεις a και b που αναφέρθηκαν στο ΜΕΡΟΣ Α του Κεφαλαίου. Τα πακέτα που δεν ανήκουν στα Icmp πακέτα που ενδιαφέρουν τον preprocessor και/ή δεν τηρούν τις προϋποθέσεις a και b, αγνοούνται από τον preprocessor και δεν υποβάλλονται σε κάποια επεξεργασία. Στη συνέχεια για κάθε ένα από τα πακέτα που απαιτείται να επεξεργαστούν από τον preprocessor, αποθηκεύεται η απαραίτητη μόνο πληροφορία που τα αφορά και όχι ολόκληρο το πακέτο, σε μία δομή την DtgInfo.Η δομή αυτή δεν υλοποιεί κόμβο κάποιας λίστας που χειρίζεται ο preprocessor αλλά παρόλα αυτά κατέχει σημαντικό ρόλο για την λειτουργία του προγράμματος, καθώς αυτή χρησιμοποιείται για την αναπαράσταση του πακέτου, κατέχοντας την ελάχιστη πληροφορία που απαιτείται για αυτό. Η Δομή DtgInfo DtgInfo Type DtgSrc DtgDst DtgT Τα πεδία Code και Type του Icmp πακέτου Διεύθυνση αποστολέα του πακέτου Διεύθυνση παραλήπτη του πακέτου Χρόνος άφιξης του πακέτου. Σχήμα Β-1: Η δομή DtgInfo. Η δομή DtgInfo αποτελείται από τέσσερα πεδία όπως φαίνεται και στο παραπάνω σχήμα, στα οποία θα καταχωρηθεί η ελάχιστη πληροφορία που απαιτείται για το κάθε πακέτο που πρέπει να επεξεργαστεί ο preprocessor. Ο παρακάτω πίνακας εξηγεί τα πεδία της δομής DtgInfo και την πληροφορία που αυτά περιέχουν. Πτυχιακή Εργασία Σ ελίδα 182

11 Στην 1 η στήλη του πίνακα αναφέρεται το όνομα του πεδίου της δομής, ενώ στην 2 η στήλη αναφέρεται η πληροφορία που αποθηκεύεται σε αυτό το πεδίο. Πεδίο Type Πληροφορία Σε αυτό το πεδίο αποθηκεύεται ένας ακέραιος αριθμός που αντιπροσωπεύει το είδος του Icmp πακέτου (Type και Code). Το πεδίο αυτό μπορεί να έχει τις εξής τιμές : Τιμή 8 Icmp Echo Request πακέτο 0 Icmp Echo Reply πακέτο Είδος πακέτου 3018 Icmp Destination Unreachable-Host/Net Unreachable που περιέχει ένα Icmp Echo Request πακέτο 3010 Icmp Destination Unreachable-Host/Net Unreachable που περιέχει ένα Icmp Echo Reply πακέτο 3138 Icmp Destination Unreachable-Administrative Prohibited που περιέχει ένα Icmp Echo Request πακέτο Icmp Destination Unreachable-Administrative Prohibited που περιέχει ένα Icmp Echo Reply πακέτο DtgSrc DtgDst DtgT Σε αυτό το πεδίο καταχωρείται η IP διεύθυνση του αποστολέα του πακέτου και έχει τον τύπο struct in_addr ο οποίος είναι κατάλληλος ώστε να αποθηκεύει IP διευθύνσεις. Σε αυτό το πεδίο καταχωρείται η IP διεύθυνση του παραλήπτη του πακέτου και έχει τον τύπο struct in_addr ο οποίος είναι κατάλληλος για να αποθηκεύει IP διευθύνσεις. Σε αυτό το πεδίο καταχωρείται ο χρόνος που κατέφθασε το πακέτο. Ο χρόνος εκφράζεται σε δευτερόλεπτα, και είναι το πλήθος των δευτερολέπτων που έχουν περάσει από την 1/1/1970 μέχρι σήμερα (τοπική ώρα του συστήματος). Το πεδίο αυτό έχει τύπο ΤΙΜΕ_Τ που είναι κατάλληλος για να αποθηκεύει τέτοιες τιμές. Πίνακας Β-1: Τα πεδία της δομής DtgInfo Σημείωση Για τα Unreachable πακέτα οι IP διευθύνσεις που αποθηκεύονται αφορούν τα Icmp πακέτα που περιέχουν στα data τους και όχι τα ίδια τα Unreachable πακέτα. Πτυχιακή Εργασία Σ ελίδα 183

12 Οι Inbound/Outbound Λίστες Τα Icmp Echo Request πακέτα καταχωρούνται σε δύο όμοιες, δύο διαστάσεων, διπλής κατεύθυνσης, κυκλικές, δυναμικές συνδεδεμένες λίστες. Στην μία από αυτές καταχωρούνται τα εισερχόμενα Echo Requests, δηλαδή αυτά που προέρχονται από ένα μη προστατευόμενο δίκτυο και προορίζονται προς ένα προστατευόμενο δίκτυο (Inbound traffic), ενώ στην άλλη καταχωρούνται τα εξερχόμενα Echo Requests, δηλαδή αυτά που προέρχονται από κάποιο προστατευόμενο δίκτυο και προορίζονται προς ένα μη προστατευόμενο δίκτυο (Outbound traffic). Χαρακτηριστικά των Inbound/Outbound Λιστών Η 1 η διάσταση της κάθε λίστας αποτελείται από κόμβους που αποθηκεύουν την απαιτούμενη πληροφορία για την πηγή του πακέτου, τον αποστολέα. Η 2 η διάσταση της κάθε λίστας αποτελείται από κόμβους που κρατάνε την απαιτούμενη πληροφορία για τον προορισμό του πακέτου, τον παραλήπτη, καθώς και τον χρόνο τον οποίο κατέφθασε το πακέτο. Ο κάθε κόμβος της κάθε διάστασης της λίστας δείχνει στον επόμενο και τον προηγούμενο κόμβο της ίδιας διάστασης. Ο δείκτης προς τον επόμενο κόμβο, του τελευταίου κόμβου της κάθε διάστασης δείχνει στο NULL. Ο δείκτης προς τον προηγούμενο κόμβο, του πρώτου κόμβου της κάθε διάστασης, δείχνει στον τελευταίο κόμβο της διάστασης αυτής, εκτός εάν είναι ο ίδιος τελευταίος (δηλαδή είναι ο μοναδικός κόμβος που υπάρχει) οπότε και δείχνει στον εαυτό του. Ο κάθε κόμβος που αποθηκεύει την πληροφορία για τον αποστολέα του πακέτου έχει και έναν pointer που δείχνει στην αρχή της 2 ης διάστασης της λίστας, που βρίσκονται οι κόμβοι με όλους τους παραλήπτες αυτού του αποστολέα. Κάθε αποστολέας ενός Icmp Echo Request πακέτου μπορεί να υπάρχει στην 1 η διάσταση της λίστας μόνο μία φορά, ενώ κάθε παραλήπτης ενός Icmp Echo Request, μπορεί να υπάρχει μόνο μία φορά στην 2 η διάσταση της λίστας που αφορά τον ίδιο αποστολέα. Στο παρακάτω σχήμα είναι δυνατόν να εντοπιστούν τα χαρακτηριστικά που περιγράφηκαν παραπάνω, καθώς φαίνεται η γενική μορφή που μπορεί να έχει κάποια από τις Inbound / Outbound Λίστες μία δεδομένη χρονική στιγμή. Πτυχιακή Εργασία Σ ελίδα 184

13 Σχήμα Β-2: Η μορφή των Inbound/Outbound Λιστών Πτυχιακή Εργασία Σ ελίδα 185

14 Οι Δομές που Υλοποιούν τους Κόμβους των Inbound/Outbound Λιστών Στη συνέχεια περιγράφονται οι δομές που υλοποιούν τους κόμβους των Inbound/Outbound Λιστών: Η Δομή RequestList RequestList InReqs Pointer που δείχνει στον 1 ο SrcNode της Inbound Λίστας. OutReqs Pointer που δείχνει στον 1 ο SrcNode της Outbound Λίστας Σχήμα Β-3: Η δομή RequestList Η δομή αυτή στην ουσία αποτελεί το σημείο εκκίνησης των δύο λιστών. Αποτελείται από 2 πεδία τα οποία είναι pointers που ο καθένας δείχνει στην αρχή της κάθε λίστας. Ο παρακάτω πίνακας εξηγεί τα πεδία της δομής RequestList και την πληροφορία που περιέχουν. Πεδίο InReqs OutReqs Πληροφορία Ένας pointer ο οποίος δείχνει στον 1 ο κόμβο της λίστας στην οποία καταχωρούνται τα εισερχόμενα Icmp Echo Request πακέτα την Inbound Λίστα Ένας pointer ο οποίος δείχνει στον 1 ο κόμβο της λίστας στην οποία καταχωρούνται τα εξερχόμενα Icmp Echo Request πακέτα την Outbound Λίστα Πίνακας Β-2: Τα πεδία της δομής RequestList Οι κόμβοι στους οποίους δείχνουν οι δύο αυτοί pointers είναι κόμβοι-αποστολέων (SrcNode). Η Δομή SrcNode - Κόμβος Αποστολέα SrcNode PrevSN Src FirstDN NextSN Pointer που Pointer που Pointer που δείχνει Διεύθυνση δείχνει στον δείχνει στον στον Προηγούμενο αποστολέα του πρώτο DstNode Επόμενο SrcNode Icmp Echo Request SrcNode Σχήμα Β-4: Η δομή SrcNode Η δομή αυτή είναι η δομή που κρατάει την απαιτούμενη πληροφορία για τον αποστολέα του Icmp Echo Request πακέτου. Αποτελεί τον κόμβο-αποστολέα. Ο παρακάτω πίνακας εξηγεί τα πεδία της δομής SrcNode και την πληροφορία που περιέχουν. Πεδίο Πληροφορία Πτυχιακή Εργασία Σ ελίδα 186

15 PrevSN Src FirstDN NextSN Pointer που δείχνει προς τον προηγούμενο SrcNode κόμβο της λίστας. Είναι η IP διεύθυνση του αποστολέα του πακέτου Ένας pointer που δείχνει στον 1 ο κόμβο της 2 η διάστασης της λίστας, που κρατάει την απαραίτητη πληροφορία για τον παραλήπτη του Icmp Echo Request πακέτου. Pointer που δείχνει προς τον επόμενο SrcNode κόμβο της λίστας Σημείωση Σχήμα Β-3: Τα πεδία της δομής SrcNode Το πεδίο PrevSn του 1 ου κόμβου της λίστας δείχνει στον τελευταίο κόμβο της λίστας, εκτός αν είναι ο ίδιος τελευταίος (και μοναδικός) οπότε και δείχνει στον εαυτό του. Δομή DstNode - Κόμβος Παραλήπτη DstNode PrevDN Dst T NextDN Pointer που δείχνει στον Προηγούμενο DstNode Διεύθυνση παραλήπτη του Icmp Echo Request Χρόνος άφιξης του πακέτου. Pointer που δείχνει στον Επόμενο DstNode Σχήμα Β-5: Η δομή DstNode Η δομή αυτή είναι η δομή που κρατάει την απαιτούμενη πληροφορία για τον προορισμό του Icmp Echo Request πακέτου. Αποτελεί τον κόμβο-παραλήπτη. Ο παρακάτω πίνακας εξηγεί τα πεδία της δομής DstNode και την πληροφορία που περιέχουν. Πεδίο PrevDN Dst T NextDN Πληροφορία Pointer που δείχνει προς τον προηγούμενο DstNode κόμβο της λίστας. Είναι η IP διεύθυνση του παραλήπτη του Icmp Echo Request πακέτου Είναι ο χρόνος στον οποίο ανιχνεύτηκε το πακέτο Pointer που δείχνει προς τον επόμενο DstNode κόμβο της λίστας Σημείωση Πίνακας Β-4: Τα πεδία της δομής DstNode Το πεδίο PrevDn του 1 ου κόμβου της 2 ης διάστασης της λίστας, δείχνει στον τελευταίο κόμβο της ίδιας διάστασης, εκτός αν είναι ο ίδιος τελευταίος (και μοναδικός) οπότε και δείχνει στον εαυτό του. Οι Λίστες Ανακύκλωσης Πτυχιακή Εργασία Σ ελίδα 187

16 Οι κόμβοι που έπρεπε να διαγραφούν από τις Inbound/Outbound Λίστες μεταφέρονται στις Λίστες Ανακύκλωσης. Η κάθε μία από αυτές τις συνδεδεμένες λίστες είναι μονής διάστασης, διπλής κατεύθυνσης, δυναμική λίστα. Σε κάθε μία από αυτές τις λίστες αποθηκεύεται ένας αριθμός κόμβων-αποστολέων και κόμβωνπαραληπτών αντίστοιχα, που χρειάστηκε να διαγραφούν από τις Inbound/Outbound Λίστες που καταχωρούν τα εισερχόμενα και εξερχόμενα από το προστατευόμενο δίκτυο Icmp Echo Request πακέτα. Η χρησιμότητα των Λιστών Ανακύκλωσης, είναι ότι με την μεταφορά των κόμβων σε αυτές κατά την διαγραφή τους, αυτοί είναι διαθέσιμοι για μελλοντική χρήση για νέα εισαγωγή τους σε μία από τις Inbound/Outbound Λίστες. Με αυτόν τον τρόπο αποφεύγεται η συνεχής δέσμευση και αποδέσμευση μικρών τμημάτων μνήμης που έχει τον κίνδυνο να κατακερματιστεί (fragmented) η μνήμη και να μην είναι δυνατή η περαιτέρω χρήση της. Το μέγιστο όριο του πλήθους των κόμβων, που μπορεί κάθε μία από τις Λίστες Ανακύκλωσης να αποθηκεύει ορίζεται μέσα στο πρόγραμμα. Η δομή που χρησιμοποιείται για την υλοποίηση των Λιστών Ανακύκλωσης παρουσιάζεται παρακάτω: TrashBin SumSN TrSN SumDn TrDN Το πλήθος των κόμβων DstNode Το πλήθος των κόμβων SrcNode Pointer που δείχνει στον πρώτο κόμβο SrcNode της λίστας Pointer που δείχνει στον πρώτο κόμβο DstNode της λίστας Σχήμα Β-6: Η δομή TrashBin Ο παρακάτω πίνακας εξηγεί τα πεδία αυτής της δομής και της πληροφορίας που αποθηκεύεται σε αυτά. Πεδίο SumSN TrSN SumDn TrDN Πληροφορία Είναι το πλήθος των SrcNode κόμβων που βρίσκονται στο TrashBin. Δηλαδή των διαγραμμένων κόμβων-αποστολέα Ένας pointer που δείχνει στον 1 ο SrcNode που βρίσκεται στο TrashBin. Είναι το πλήθος των DstNode κόμβων που βρίσκονται στο TrashBin. Δηλαδή των διαγραμμένων κόμβων-παραλήπτη. Ένας pointer που δείχνει στον 1 ο DstNode που βρίσκεται στο TrashBin Πίνακας Β-5: Τα πεδία της δομής TrashBin Η Λίστα Ανακύκλωσης μετά την διαγραφή τριών κόμβων-αποστολέων (SrcNode) και πέντε κόμβων-παραληπτών (DstNode) από τις Inbound/Outbound Λίστες έχει την παρακάτω μορφή: Πτυχιακή Εργασία Σ ελίδα 188

17 Σχήμα Β-7: Η μορφή των Λιστών Ανακύκλωσης ΜΕΡΟΣ C: Περιγραφή των Συναρτήσεων του Προγράμματος Στις επόμενες σελίδες περιγράφονται οι συναρτήσεις από τις οποίες αποτελείται το πρόγραμμα. Πτυχιακή Εργασία Σ ελίδα 189

18 Οι συναρτήσεις SetupIcmpSpoof(), IcmpSpoofInit(), ParseIcmpSpoofArgs()και IcmpSpoofFunction(), είναι υποχρεωτικές συναρτήσεις που πρέπει να υλοποιεί ο κάθε preprocessor (με διαφορετικά ονόματα για τον καθένα), καθώς αυτές είναι που καλούνται από το Snort, για να μπορεί ο preprocessor να συνεργαστεί μαζί του. Η υλοποίηση όμως αυτών των συναρτήσεων μπορεί να περιλαμβάνει και κώδικα που εξυπηρετεί τις λειτουργίες του εκάστοτε preprocessor. Οι συναρτήσεις InsertRequest(), CheckResponse(), InsertNode_SN(), InsertNode_DN(), EjectCurNode_SN(), EjectCurNode_DN(), SearchNode_SN(), SearchNode_DN(), Prepare_To_Clean_SN(), Prepare_To_Clean_DN(), Trash_SN(), Trash_DN() χρησιμοποιούνται για τον χειρισμό και τις λειτουργίες των λιστών, δηλαδή για την εισαγωγή, αναζήτηση και διαγραφή σε αυτές. Παρακάτω γίνεται αναλυτική περιγραφή όλων αυτών των συναρτήσεων, καθώς και μερικών ακόμα γενικού σκοπού συναρτήσεων που υλοποιούνται στο πρόγραμμα. void SetupIcmpSpoof() Σκοπός /Περιγραφή Η συνάρτηση αυτή εκτελείται κατά την εκκίνηση του Snort και καλείται στο αρχείο plugbase.c του Snort μέσα από την συνάρτηση InitPreprocessors(). Στην ουσία με αυτόν τον τρόπο γίνεται δυνατό να μπορέσει να ενσωματωθεί ο κώδικας του preprocessor με τον υπόλοιπο κώδικα του Snort κατά την εκτέλεση. Επίσης αυτή η συνάρτηση δηλώνει το όνομα (keyword) του preprocessor στο Snort και καλεί την IcmpSpoofInit(). Καλείται Από την συνάρτηση του Snort InitPreprocessors() (source αρχείο plugbase.c). Καλεί Την συνάρτηση IcmpSpoofInit(). Παράμετροι Δεν δέχεται παραμέτρους. Μεταβλητές Δεν έχει κάποιες τοπικές μεταβλητές. Επιστρέφει Δεν επιστρέφει κάποια τιμή. void IcmpSpoofInit (u_char *args) Πτυχιακή Εργασία Σ ελίδα 190

19 Σκοπός / Περιγραφή Η συνάρτηση αυτή θα εκτελεστεί κατά την εκκίνηση του Snort και καλείται από την SetupIcmpSpoof(). Αρχικοποιεί τις μεταβλητές, τους pointers και τις διάφορες δομές του preprocessor. Επίσης καλεί την ParseIcmpSpoofArgs()και με την κλήση της συνάρτησης AddFuncToPreprocList()του Snort, η οποία ορίζεται στο αρχείο rules.c, προσθέτει την συνάρτηση IcmpSpoofFunction()σε μία δυναμική λίστα (η οποία ορίζεται στο αρχείο rules.c του Snort) από την οποία θα καλείται κάθε φορά που θα επεξεργάζεται κάποιο πακέτο το Snort. Σε αυτή την λίστα είναι καταχωρημένες και οι αντίστοιχες συναρτήσεις των υπόλοιπων preprocessors. Καλείται Από την συνάρτηση SetupIcmpSpoof(). Καλεί Την συνάρτηση ParseIcmpSpoofArgs(). Παράμετροι Δέχεται μία παράμετρο : Παράμετρος char *args Λειτουργία Ένας pointer σε char. Η χρήση αυτής της παραμέτρου καθιστά δυνατό μέσα από αυτή την συνάρτηση να κληθεί η ParseIcmpSpoofArgs()η οποία κάνει χρήση αυτής της παραμέτρου. Μεταβλητές Δεν έχει κάποιες τοπικές μεταβλητές. Επιστρέφει Δεν επιστρέφει κάποια τιμή. void ParseIcmpSpoofArgs (char *args) Σκοπός / Περιγραφή Η συνάρτηση αυτή θα εκτελεστεί μία φορά κατά την εκκίνηση του Snort και όταν θα κληθεί από την IcmpSpoofInit(). Μέσω αυτής της συνάρτησης θα γίνει η επεξεργασία των διαφόρων παραμέτρων που δίνονται από τον χρήστη για την εκτέλεση του preprocessor (συνήθως στο αρχείο snort.conf). Η συνάρτηση κάνει έλεγχο για την ορθότητα των παραμέτρων και στην ουσία αυτή είναι που θα περάσει τις ρυθμίσεις του χρήστη μέσα στο πρόγραμμα. Ο χρήστης μπορεί να δώσει μέχρι τρεις παραμέτρους με τον κενό χαρακτήρα ως διαχωριστικό μεταξύ τους. Οι παράμετροι αυτοί παρουσιάζονται στην συνέχεια: 1 η. Protected Net(s). (Υποχρεωτική) Πτυχιακή Εργασία Σ ελίδα 191

20 Η παράμετρος αυτή είναι και η μόνη υποχρεωτική παράμετρος που πρέπει να δοθεί για να λειτουργήσει σωστά ο preprocessor. Μέσω αυτής δίνεται η δυνατότητα να οριστεί το προστατευόμενο δίκτυο, δηλαδή το δίκτυο του οποίου επιθυμείται να ελέγχεται, το εισερχόμενο και εξερχόμενο traffic για την ανίχνευση spoofed Icmp Echo πακέτων. Αυτή η παράμετρος μπορεί να δοθεί με τέτοιο τρόπο ώστε να ορίζονται περισσότερα του ενός προστατευόμενα δίκτυα, είτε διαχωρίζοντάς τα με ένα κόμμα (, ) χωρίς κενά μεταξύ τους, είτε διαχωρίζοντάς τα με κόμμα χωρίς κενά μεταξύ τους και τοποθετώντας τα όλα μέσα σε αγκύλες ( [ ] ). Ο τελευταίος τρόπος παρέχει την δυνατότητα να υπάρχει συμβατότητα με την μεταβλητή &HOME_NET που χρησιμοποιείται από το Snort μέσα στο αρχείο snort.conf, για ευκολία ρύθμισής του. Έτσι σαν τιμή σε αυτήν την παράμετρο μπορεί να δοθεί η μεταβλητή του Snort $ΗΟΜΕ_ΝΕΤ. 2 η. Timeout (Προαιρετική) Η παράμετρος αυτή δεν είναι υποχρεωτική καθώς αν δεν δοθεί τότε θα χρησιμοποιηθεί κάποια default τιμή (Timeout = 3). Με αυτήν την παράμετρο ορίζεται ο χρόνος σε δευτερόλεπτα, που θα κρατείται ένα Icmp Echo Request αποθηκευμένο σε κάποια λίστα, ώστε να χρησιμοποιηθεί στην διαδικασία ανίχνευσης του spoofing. Στην ουσία ορίζεται το χρονικό διάστημα μέσα στο οποίο είναι λογικό να αναμένεται κάποια απάντηση για ένα αποθηκευμένο Icmp Echo Request πακέτο. Αν αυτή η τιμή είναι πολύ μεγάλη, τότε θα καθυστερεί περισσότερο η εκτέλεση του preprocessor και θα χρησιμοποιείται μεγαλύτερο ποσό μνήμης. Αυτό γιατί οι λίστες που κρατούν στην μνήμη τα Echo Request πακέτα, θα είναι μεγαλύτερες και θα χρειάζεται περισσότερος χρόνος για να γίνονται σε αυτές οι διαδικασίες της εισαγωγής, αναζήτησης και διαγραφής. Αν αντίθετα η τιμή αυτής της παραμέτρου είναι πολύ μικρή, τότε υπάρχει κίνδυνος να μην ανιχνεύονται κάποια spoofed πακέτα. 3 η. Log Dir/File (Προαιρετική) Η παράμετρος αυτή επίσης δεν είναι υποχρεωτική και αν δεν δοθεί τότε θα χρησιμοποιηθεί κάποια default τιμή. Η χρήση αυτής της παραμέτρου είναι να ορισθεί ο κατάλογος και το αρχείο στο οποίο θα καταχωρεί ο preprocessor τα alerts που παράγει για τα spoofed πακέτα που εντοπίζει. Ο κατάλογος πρέπει να δοθεί με την πλήρη διαδρομή στην οποία βρίσκεται και πρέπει να υπάρχει. Το αρχείο δεν είναι απαραίτητο να υπάρχει καθώς θα το δημιουργήσει ο preprocessor. Αν δεν υπάρχει ο κατάλογος ή για κάποιο άλλο λόγο δεν μπορεί να δημιουργηθεί το αρχείο, τότε το πρόγραμμα θα σταματήσει την εκτέλεσή του καθώς και την εκτέλεση του Snort. Αν δεν δοθεί τιμή σε αυτή την παράμετρο, τότε τα alerts που παράγονται θα καταγράφονται σε ένα αρχείο με το όνομα EchoSpoofs, μέσα στον κατάλογο που καταγράφει τα logs και το ίδιο Snort. Ο κατάλογος αυτός, είναι αυτός που έχει δοθεί σαν τιμή στην μεταβλητή l για την εκτέλεση του Snort, και αν δεν έχει δοθεί η παράμετρος l θα είναι ο default κατάλογος καταγραφής του Snort ο /var/log/snort. Καλείται Από την συνάρτηση IcmpSpoofInit(). Καλεί Καλεί τις συναρτήσεις msplit(),mstring.h, SplitProtectedNets(). Πτυχιακή Εργασία Σ ελίδα 192

21 Οι δύο πρώτες ανήκουν στο Snort. Παράμετροι Δέχεται μία παράμετρο: Παράμετρος char *args Λειτουργία Ένας pointer σε char ο οποίος δείχνει σε ένα string το οποίο περιέχει τις παραμέτρους που δόθηκαν από τον χρήστη για την εκτέλεση του preprocessor στο αρχείο snort.conf. Μεταβλητές Οι τοπικές μεταβλητές της συνάρτησης είναι : Μεταβλητή char **toks int numtoks Struct ProtectedNets *pr_net char *LogFile Λειτουργία Ένας πίνακας από pointers σε char, στον οποίο θα αποθηκευτούν οι παράμετροι με τις οποίες έχει ρυθμιστεί να εκτελεστεί ο preprocessor στο αρχείο snort.conf. Ο κάθε pointer θα δείχνει σε ένα string που θα αντιστοιχεί και σε μία παράμετρο. Την τιμή της θα πάρει μετά την εκτέλεση της msplit(). Ένας integer στον οποίο θα αποθηκευτεί το πλήθος των παραμέτρων του preprocessor. Την τιμή της θα πάρει μετά την εκτέλεση της msplit(). Ένας pointer που δείχνει σε δομές τύπου ProtectedNets και θα χρησιμοποιηθεί για να είναι δυνατή η πλοήγηση στα μέλη της δυναμικής λίστας που θα περιέχει τα προστατευόμενα δίκτυα που έχουν δοθεί στο snort.conf. Ένας char pointer ο οποίος θα δείξει στο string που θα περιέχει τον κατάλογο / αρχείο που θα καταγραφούν τα αποτελέσματα. Επιστρέφει Δεν επιστρέφει κάποια τιμή. void IcmpSpoofFunction (Packet *p) Πτυχιακή Εργασία Σ ελίδα 193

22 Σκοπός / Περιγραφή Η συνάρτηση αυτή εκτελείται κάθε φορά που κάποιο πακέτο εισέρχεται στο Snort και αφού περάσει την Decode Engine. Μέσα σε αυτήν την συνάρτηση υλοποιείται όλη η λειτουργία του preprocessor. Πριν δεχτεί κάποιο πακέτο για επεξεργασία ελέγχει ότι το αυτό είναι ένα ολόκληρο πακέτο και όχι κάποιο fragment ενός πακέτου, καθώς επίσης και ότι το συγκεκριμένο πακέτο είναι Icmp. Επίσης για να δεχτεί κάποιο πακέτο προς επεξεργασία ελέγχει αν αυτό προέρχεται ή έχει προορισμό κάποιο από τα προστατευόμενα δίκτυα. Αυτό γίνεται έτσι ώστε ο preprocessor να μην επεξεργάζεται πακέτα που δεν έχουν σχέση με κάποιο από τα προστατευόμενα δίκτυα, σε περίπτωση που αυτά τα πακέτα περνάνε από τον ο Sensor στον οποίο εκτελείται το Snort. Στην περίπτωση που το πακέτο πληρεί τις προϋποθέσεις θα κληθεί συνάρτηση Get_Dtg_Data () για να πάρει από το πακέτο τις απαιτούμενες πληροφορίες και στην συνέχεια θα αρχικοποιήσει κατάλληλα τους pointers να δείχνουν στην απαιτούμενη Inbound/Outbound Λίστα. Στην συνέχεια ανάλογα αν για το πακέτο πρέπει να γίνει εισαγωγή σε κάποια λίστα ή αν πρέπει να γίνει έλεγχος για ανίχνευση του spoofing, θα κληθούν οι συναρτήσεις InsertRequest() ή CheckResponse() αντίστοιχα. Αν κληθεί η CheckResponse() θα γίνει έλεγχος για τον αν πρέπει στη συνέχεια να κληθεί η AlertSpoofs() ή οποία θα καταγράψει κάποιο alert. Στη συνέχεια θα κληθούν οι συναρτήσεις TrashSN() και TrashDN() για να διαγραφούν από την Inbound/Outbound Λίστα που χρησιμοποιήθηκε, τα Echo Requests που έχει λήξει ο χρόνος παραμονής τους στην λίστα και δεν παρουσιάζουν πλέον ενδιαφέρον. Τέλος θα επαναφερθούν οι pointers που δείχνουν στην αρχή της τρέχουσας λίστας στην σωστή θέση. Παράμετροι Παράμετρος packet *p Λειτουργία Είναι ένας pointer ο οποίος δείχνει στην δομή Packet του Snort, η οποία περιέχει όλες τις πληροφορίες που αφορούν κάθε πακέτο που εξέρχεται από την Decode Engine του Snort. Μεταβλητές Οι τοπικές μεταβλητές της συνάρτησης είναι : Μεταβλητή int action Int fix_curlist Λειτουργία Ένας integer που θα δηλώνει τι είδους ενέργεια θα γίνει για το συγκεκριμένο πακέτο. Δηλαδή αν θα γίνει εισαγωγή σε κάποια από τις Inbound/Outbound Λίστες ή αν θα γίνει έλεγχος σε κάποια από αυτές για ανίχνευση του spoofing. Την τιμή του θα τη πάρει με την εκτέλεση της Get_Dtg_Data(). Ένας integer που δηλώνει την λίστα που χρησιμοποιήθηκε για το συγκεκριμένο πακέτο. Την τιμή του θα τη πάρει με την εκτέλεση της Get_Dtg_Data(). Πτυχιακή Εργασία Σ ελίδα 194

23 Int alertaction long int limit time_t arrvtime Ένας integer που δηλώνει αν μετά την εκτέλεση της CheckResponse () βρέθηκε ή όχι το αντίστοιχο πακέτο για το οποίο έγινε η αναζήτηση και κατά συνέπεια αν πρέπει να παραχθεί κάποιο alert. Την τιμή του θα την πάρει με την εκτέλεση της CheckResponse(). Αυτή η μεταβλητή θα κρατήσει το αποτέλεσμα του υπολογισμού του μικρότερου χρόνου που μπορεί να έχει ένα πακέτο στις Inbound/Outbound Λίστες για να θεωρείται ικανό να παραμείνει σε αυτές. Αυτή η μεταβλητή αποθηκεύει τον τρέχον χρόνο στον οποίο έφτασε κάποιο πακέτο. Η τιμή αυτής της μεταβλητής θα είναι ο χρόνος του συστήματος σε δευτερόλεπτα που έχουν περάσει από την 01/01/1970. Την τιμή της θα τη πάρει με την εκτέλεση της Get_Dtg_Data(). Καλείται Καλείται από την συνάρτηση ParsePreprocessor()του Snort (source αρχείο rules.c), η οποία ελέγχει την λίστα με τα ονόματα (keywords) όλων των preprocessors και εκτελεί την αντίστοιχη συνάρτηση του κάθε preprocessor για κάθε πακέτο. Το Keyword του συγκεκριμένου preprocessor σε αυτή την λίστα έχει εισαχθεί μετά την εκτέλεση της IcmpSpoofInit(). Καλεί Καλεί τις συναρτήσεις Get_Dtg_Data (), InsertRequest (), CheckResponse(), AlertSpoofs(), TrashSN(), TrashDN(). Επιστρέφει Δεν επιστρέφει κάτι. void Get_Dtg_Data (Packet *p, int *action, int *fix_curlist,time_t *captime) Σκοπός / Περιγραφή Η συνάρτηση αυτή υπολογίζει τον χρόνο άφιξης του πακέτου, ελέγχει το Icmp πακέτο και ανάλογα με τα χαρακτηριστικά του (τα πεδία Type και Code, την πηγή και τον προορισμό του) δίνει τιμές στα κατάλληλα πεδία της δομής DtgInfo η οποία κρατάει από το πακέτο την απαραίτητη μόνο για τον preprocessor πληροφορία και στη συνέχεια ορίζει την ενέργεια που θα γίνει για αυτό το πακέτο και σε ποια λίστα. Παράμετροι Δέχεται για παραμέτρους τον pointer προς τη δομή Packet όπως την δημιούργησε η Decode Engine του Snort, pointers στις μεταβλητές action, fix_curlist, arrvtime οι οποίες έχουν οριστεί στην IcmpSpoofFunction(). Με αυτόν τον τρόπο (by reference) αλλάζει τις τιμές των μεταβλητών που έχουν ορισθεί σε άλλη συνάρτηση. Μεταβλητές Δεν έχει τοπικές μεταβλητές. Πτυχιακή Εργασία Σ ελίδα 195

24 Καλείται Από την συνάρτηση IcmpSpoofFunction() Καλεί Την συνάρτηση IpIsMynet(). Επιστρέφει Δεν επιστρέφει κάτι. void SplitProtectedNets (char *netargs) Σκοπός / Περιγραφή Η συνάρτηση αυτή δημιουργεί την λίστα η οποία θα περιέχει τα προστατευόμενα δίκτυα που δόθηκαν σαν παράμετροι από τον χρήστη. Η IP διεύθυνση του κάθε δικτύου είναι το αποτέλεσμα της εφαρμογής, της μάσκας στην IP διεύθυνση, που δόθηκε από τον χρήστη σε CIDR τρόπο γραφής. Παράμετροι Η μοναδική παράμετρος που δέχεται είναι ένας char pointer ο οποίος δείχνει στο string που δημιουργήθηκε από την msplit()κατά την κλήση της μέσα στην ParseIcmpSpoofArgs(), και περιέχει τα προστατευόμενα δίκτυα που δόθηκαν από τον χρήστη. Μεταβλητές Οι τοπικές μεταβλητές είναι : Μεταβλητή struct ProtectedNets *newprnet,*curprnet char **net_toks int net_numtoks int given_nets Λειτουργία Είναι δύο pointers από τους οποίους ο 1 ος χρησιμοποιείται για την δημιουργία νέων κόμβων-αντικειμένων ProtectedNets που θα σχηματίσουν την λίστα με τα προστατευόμενα δίκτυα, ενώ ο 2 ος χρησιμοποιείται για την πλοήγηση στην λίστα που δημιουργείται. Ένας πίνακας από pointers σε char στον οποίο θα αποθηκευτούν τα προστατευόμενα δίκτυα που δόθηκαν από τον χρήστη για την περαιτέρω επεξεργασία τους. Ο κάθε pointer θα δείχνει σε ένα string που θα αντιστοιχεί και σε ένα δίκτυο. Την τιμή της θα πάρει μετά την εκτέλεση της msplit(). Ένας integer στον οποίο θα αποθηκευτεί το πλήθος των προστατευόμενων δικτύων που δόθηκαν. Την τιμή της θα πάρει μετά την εκτέλεση της msplit(). Ένας προσωρινός, βοηθητικός Integer. Καλείται Από την συνάρτηση ParseIcmpSpoofArgs(). Πτυχιακή Εργασία Σ ελίδα 196

25 Καλεί Τις συναρτήσεις msplit(), GenProtectedNets(). Επιστρέφει Δεν επιστρέφει κάτι. struct ProtectedNets GenProtectedNets (char *net_tok) Σκοπός / Περιγραφή Η συνάρτηση αυτή δέχεται ένα string το οποίο έχει προκύψει μετά την εκτέλεση της SplitProtectedNets() και περιέχει την IP διεύθυνση και την μάσκα ενός προστατευόμενου δικτύου σε CIDR τρόπο γραφής. Η συνάρτηση θα υπολογίζει την IP διεύθυνση αφού εφαρμόσει την μάσκα. Παράμετροι Δέχεται σαν παράμετρο ένα char pointer ο οποίος δείχνει σε ένα string το οποίο περιέχει μία IP διεύθυνση και μία μάσκα σε CIDR notation. Μεταβλητές Οι τοπικές μεταβλητές είναι : Μεταβλητή struct ProtectedNets PrNet char **toks int numtoks Λειτουργία Είναι η δομή στην οποία θα αποθηκευτεί η επεξεργασμένη IP διεύθυνση. Ένας πίνακας από pointers σε char στον οποίο θα αποθηκευτούν η IP διεύθυνση και η μάσκα αφού διαχωριστούν μέσα από το string στο οποίο δείχνει ο pointer *net_tok. Ο κάθε pointer θα δείχνει σε ένα string που θα αντιστοιχεί και σε ένα δίκτυο ή σε μία μάσκα. Την τιμή της θα πάρει μετά την εκτέλεση της msplit(). Ένας integer ο οποίος θα πάρει την τιμή 2 αφού διαχωριστεί η IP διεύθυνση από την μάσκα. Την τιμή του θα την πάρει μετά την εκτέλεση της msplit(). Καλείται Από την συνάρτηση SplitProtectedNets() Καλεί Την συνάρτηση msplit(). Επιστρέφει Επιστρέφει μία δομή τύπου ProtectedNets η οποία θα περιέχει την επεξεργασμένη IP διεύθυνση και την μάσκα του δικτύου. Πτυχιακή Εργασία Σ ελίδα 197

26 int IpIsMynet (struct in_addr ipaddr) Σκοπός / Περιγραφή Η συνάρτηση ελέγχει αν μία IP διεύθυνση ανήκει σε ένα από τα προστατευόμενα δίκτυα. Εκτελείται έτσι ώστε να ελέγξει αν το πακέτο που εντοπίστηκε έχει διεύθυνση αποστολέα ή παραλήπτη, μία IP διεύθυνση που ανήκει στα προστατευόμενα δίκτυα που έδωσε ο χρήστης. Παράμετροι Δέχεται σαν παράμετρο μία δομή τύπου in_addr κατάλληλη για να αποθηκεύει μια IP διεύθυνση. Μεταβλητές Οι τοπικές μεταβλητές είναι : Μεταβλητή struct ProtectedNets *curprnet Λειτουργία Ένας pointer σε δομή ProtectedNets, ο οποίος χρησιμοποιείται για πλοήγηση στην λίστα με τα προστατευόμενα δίκτυα. Καλείται Από τις συναρτήσεις IcmpSpoofFunction(), Get_Dtg_Data(). Καλεί Δεν καλεί κάποια συνάρτηση. Επιστρέφει Επιστρέφει 0 αν η δοσμένη IP διεύθυνση δεν ανήκει σε κάποιο από τα προστατευόμενα δίκτυα και 1 αν ανήκει. void AlertSpoofs (Packet *p, int alert, int CurrentList, time_t *alerttime ) Σκοπός / Περιγραφή Η συνάρτηση αυτή είναι υπεύθυνη ώστε να γράψει το σωστό alert μέσα στο αρχείο καταγραφής των alerts που όρισε ο χρήστης. Παράμετροι Δέχεται σαν παραμέτρους : Παράμετρος Λειτουργία Πτυχιακή Εργασία Σ ελίδα 198

27 Packet *p Ένας pointer προς τη δομή Packet την οποία δημιούργησε η Decode Engine του Snort int alert int CurrentList time_t alerttime Έναν integer που δηλώνει αν βρέθηκε ή όχι το πακέτο για το οποίο έγινε αναζήτηση μέσω της CheckResponse(), σε μία από τις Inbound/Outbound Λίστες και κατά συνέπεια αν πρέπει να παραχθεί κάποιο alert. Παίρνει την τιμή που θα έχει επιστρέψει η CheckResponse() και μπορεί να είναι 0 ή 1. Δηλώνει σε ποια λίστα έγινε η αναζήτηση για το συγκεκριμένο πακέτο. Παίρνει την τιμή που θα έχει δημιουργήσει η Get_Dtg_Data() και μπορεί να είναι 1 ή 2. Είναι ο χρόνος καταγραφής του πακέτου. Μεταβλητές Οι τοπικές μεταβλητές είναι : Μεταβλητή char * Scenario Λειτουργία Ένας char pointer που δείχνει σε ένα string το οποίο θα περιέχει το σενάριο που θα τυπωθεί. Καλείται Από την συνάρτηση IcmpSpoofFunction(). Καλεί Δεν καλεί κάποια συνάρτηση. Επιστρέφει Δεν επιστρέφει κάτι. void InsertRequest (long int limit) Σκοπός / Περιγραφή Η συνάρτηση αυτή είναι υπεύθυνη ώστε να κάνει εισαγωγή σε κάποια από τις Inbound/Outbound Λίστες (και στο σωστό σημείο της ), τις απαραίτητες πληροφορίες για ένα Icmp Echo Request πακέτο. Επίσης κατά την διαδικασία της εισαγωγής γίνεται έλεγχος για τον καθαρισμό της λίστας, δηλαδή προετοιμασία για διαγραφή των Echo Request πακέτων που έχει λήξει ο χρόνος παραμονής τους στην λίστα και δεν θεωρούνται πλέον υποψήφια για να ελεγχθούν. Αν δεν υπάρχει κάποιος κόμβος στην λίστα τότε θα κάνει εισαγωγή στην αρχή. Πτυχιακή Εργασία Σ ελίδα 199

28 Σε αντίθετη περίπτωση η εισαγωγή γίνεται στο τέλος της λίστας. Με αυτόν τον τρόπο ο τελευταίος αποστολέας ενός Icmp Echo Request πακέτου θα αποθηκευτεί στο τέλος της λίστας μαζί με όλους τους παραλήπτες του, στους οποίους έχει στείλει τέτοια πακέτα. Πριν από κάθε εισαγωγή αρχικά ελέγχεται αν έχει λήξει ο χρόνος παραμονής στην λίστα του τελευταίου αποθηκευμένου αποστολέα και αν ισχύει κάτι τέτοιο τότε προετοιμάζεται η λίστα για ολική διαγραφή των κόμβων της και γίνεται εισαγωγή στην αρχή, αλλιώς ξεκινώντας από την αρχή της λίστας και περνώντας από κάθε κόμβο της σειριακά, ελέγχεται αν υπάρχει ήδη ο αποστολέας αποθηκευμένος. Αρχικά για όσους αποθηκευμένους αποστολείς έχει λήξει ο χρόνος παραμονής τους στην λίστα, θα προετοιμαστούν για διαγραφή όπως και όλοι οι παραλήπτες τους και η αναζήτηση θα συνεχιστεί στους αποστολείς που έχουν απομείνει. Σε περίπτωση που δεν βρεθεί ο αποστολέας αποθηκευμένος στην λίστα τότε θα γίνει νέα εισαγωγή στο τέλος της λίστας. Αν βρεθεί ο αποστολέας, τότε ξεκινώντας από την αρχή της λίστας με τους παραλήπτες του συγκεκριμένου αποστολέα (2 η διάσταση), γίνεται αναζήτηση για το αν υπάρχει ήδη αποθηκευμένος ο παραλήπτης του πακέτου. Αρχικά για όσους αποθηκευμένους παραλήπτες έχει λήξει ο χρόνος παραμονής τους στην λίστα, θα προετοιμαστούν για διαγραφή και η αναζήτηση θα συνεχιστεί στους παραλήπτες που έχουν απομείνει. Αν βρεθεί ίδιος παραλήπτης στην λίστα τότε αυτός θα πάρει τον νέο χρόνο καταγραφής του πακέτου, θα μεταφερθεί στο τέλος της 2 ης διάστασης της λίστας και ο αποστολέας του μαζί με όλους τους παραλήπτες του θα μεταφερθούν στο τέλος της 1 ης διάστασής της λίστας. Με αυτόν τον τρόπο το τελευταίο Icmp Echo Request που εντοπίστηκε θα είναι αποθηκευμένο στο τέλος της λίστας. Αν δεν βρεθεί ίδιος παραλήπτης τότε θα γίνει νέα εισαγωγή στο τέλος της λίστας. Παράμετροι Δέχεται σαν παραμέτρους : Παράμετρος long int limit Λειτουργία Αυτή η μεταβλητή θα κρατάει το αποτέλεσμα του υπολογισμού του μικρότερου χρόνου που μπορεί να έχει ένα πακέτο στις λίστες για να θεωρείται άξιο προς έλεγχο. Μεταβλητές Οι τοπικές μεταβλητές είναι : Μεταβλητή int FlagSN, FlagDN Λειτουργία Είναι δύο integers οι οποίοι θα παίρνουν την τιμή 0 ή 1 δηλώνοντας αν έχει βρεθεί ή όχι, ο αποστολέας (FlagSN) ή ο παραλήπτης (FlagDN), μετά την διαδικασία αναζήτησης στις λίστες. Καλείται Από την συνάρτηση IcmpSpoofFunction(). Πτυχιακή Εργασία Σ ελίδα 200

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

Διαβάστε περισσότερα

Κεφάλαιο 5 Το NIDS SNORT

Κεφάλαιο 5 Το NIDS SNORT Κεφάλαιο 5 Πτυχιακή Εργασία Σ ελίδα 157 Περιεχόμενα ΕΙΣΑΓΩΓΗ. 159 Γενική Περιγραφή Του Snort. 159 1. Sniffer Mode. 160 2. Packet Logger Mode. 161 3. NIDS Mode. 161 H Δομή Του Snort. 164 A. Decode Engine.

Διαβάστε περισσότερα

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 5: Δείκτες και Δυναμική Δέσμευση- Αποδέσμευση Μνήμης στη C/ Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με δείκτες /Ένα πακέτο για τον ΑΤΔ Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing

ΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing ΚΕΦΑΛΑΙΟ 3 ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 67 Περιεχόμενα ΕΙΣΑΓΩΓΗ. 69 ΜΕΡΟΣ Α: To Icmp Πρωτόκολλο.... 70 Γενικά. 70 Το Icmp Echo Πακέτο. 72 Το Icmp Destination Unreachable Πακέτο. 75 ΜΕΡΟΣ

Διαβάστε περισσότερα

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση. ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ / Γ- ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 21-02- 2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α. A1. Να γράψετε το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP) 3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP) 1 / 32 Σε έναν κόμβο ο οποίος επιθυμεί να αποστείλει δεδομένα σε κάποιον

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Με την Αναλυτική Λογιστική πραγματοποιείται η παρακολούθηση όλου του κυκλώματος και η ενημέρωση της Αναλυτικής Λογιστικής από την εφαρμογή της

Με την Αναλυτική Λογιστική πραγματοποιείται η παρακολούθηση όλου του κυκλώματος και η ενημέρωση της Αναλυτικής Λογιστικής από την εφαρμογή της Αναλυτική Λογιστική Με την Αναλυτική Λογιστική πραγματοποιείται η παρακολούθηση όλου του κυκλώματος και η ενημέρωση της Αναλυτικής Λογιστικής από την εφαρμογή της Λογιστικής Η Αναλυτική Λογιστική περιλαμβάνει

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

Διαβάστε περισσότερα

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901 Πρωτόκολλο ARP Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901 Ποιο είναι το έργο του Πρωτοκόλλου Μετατροπής Διεύθυνσης (Address Resolution Protocol ARP) Κάνει δυναμική μετατροπή των IP διευθύνσεων σε φυσικές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 14 Δυναμική διαχείριση μνήμης Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στατική δέσμευση μνήμης Με τη δήλωση απλών μεταβλητών

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 6: Διαχείριση Μνήμης & Δυναμικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυναμικές Δομές Δεδομένων Γενικά Δυναμική Δέσμευση/Αποδέσμευση Μνήμης Δομή τύπου structure

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014 Σωτήρης Γυφτόπουλος Κανόνες του Facility Game (1/4) Στο Facility Game υπάρχει ένα σύνολο κόμβων που συνδέονται «σειριακά» και κάθε κόμβος

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( ) ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες Σκοπός της Άσκησης ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση των δεικτών (pointers). Οι δείκτες δίνουν την δυνατότητα σε προγράμματα να προσομοιώνουν τη

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

Διαβάστε περισσότερα

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1 Μνήμη Διευθύνσεις Δείκτες Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη Η/Υ Ειδικό υλικό, ξεχωριστό από τον επεξεργαστή Χρησιμεύει για την αποθήκευση δεδομένων και της κατάστασης εκτέλεσης του προγράμματος

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 7 η Πίνακες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

Διαβάστε περισσότερα

Διαδικασία Χρήσης Module Αναλυτικής Λογιστικής

Διαδικασία Χρήσης Module Αναλυτικής Λογιστικής Διαδικασία Χρήσης Module Αναλυτικής Λογιστικής 1 Περίληψη Με την Αναλυτική Λογιστική πραγματοποιείται η παρακολούθηση όλου του κυκλώματος και η ενημέρωση της Αναλυτικής Λογιστικής από την εφαρμογή Hyper

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Γενικά. Change Reference

Γενικά. Change Reference ΣΕΝΑΡΙΑ ΜΕΤΑΣΧΗΜΑΤΙΣΜΩΝ Date Change Reference 27-06-2001 Αρχικό 17-09-2001 Προσθήκες Διαχωρισμός των σεναρίων σε αγορές και πωλήσεις Μεταβλητή ADDWHERE για σενάρια μαζικών μετασχηματισμών 24-09-2001 Προσθήκες

Διαβάστε περισσότερα

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός

Διαβάστε περισσότερα

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου http://www.cs.ucy.ac.cy/courses/epl232 Το μάθημα αυτό

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό (με. τη C)

Εισαγωγή στον Προγραμματισμό (με. τη C) Υποχρεωτικό Μάθημα 3 ου Εξαμήνου Χειμερινό Εξάμηνο Ακ. Έτους 20 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Εισαγωγή στον Προγραμματισμό (με τη C) Διδάσκουσα: Φατούρου Παναγιώτα faturu [at] csd.uoc.gr

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ Θέμα Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2016-2017 Πάτρα 3/5/2017 Ονοματεπώνυμο:.. Α1. Να γράψετε στην κόλλα σας τον αριθμό

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 13 η Δομές & Ενώσεις Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Μεταγλωττιστές Στοίβα Εκτέλεσης και Εγγραφήματα Δραστηριοποίησης Σε όλες σχεδόν τις μοντέρνες γλώσσες προγραμματισμού,

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Master Mind εφαρμογή στη γλώσσα προγραμματισμού C Φεβρουάριος/Μάρτιος 2013 v. 0.1 Master-mind: κανόνες παιχνιδιού Στο master mind χρειάζεται να παράγονται κάθε φορά 4 τυχαία σύμβολα από ένα πλήθος 6 διαφορετικών

Διαβάστε περισσότερα

Αυτόματο Κλείσιμο Ισολογισμού

Αυτόματο Κλείσιμο Ισολογισμού Αυτόματο Κλείσιμο Ισολογισμού Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας διαχείρισης Οδηγιών Αυτόματου Κλεισίματος Ισολογισμού στην εφαρμογή Business Λογιστική

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

Η βασική συνάρτηση προγράμματος main()

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 12 η : Δυναμική Ανάθεση Θέσης Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2016-2017 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον

Διαβάστε περισσότερα

Φυσική Απογραφή & Παραστατικά Αποθήκης

Φυσική Απογραφή & Παραστατικά Αποθήκης Φυσική Απογραφή & Παραστατικά Αποθήκης Περιεχόμενα Διαδικασία Φυσικής Απογραφής... 3 Συμπλήρωση φόρμας... 3 Βήματα Απογραφής... 5 Εισαγωγή Αρχείου Απογραφής... 9 Εκτυπώσεις Φυσικής Απογραφής... 10 Λίστα

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

Οδηγό ς Σχ. Έτόυς 2014-2015

Οδηγό ς Σχ. Έτόυς 2014-2015 Οδηγό ς Σχ. Έτόυς 2014-2015 Σχολικό Έτος Στο ΠΣ myschool υλοποιείται πλήρης ιστορικότητα και τα δεδομένα σας είναι διαθέσιμα για κάθε Σχολικό Έτος. Μέσα από την ΑΡΧΙΚΗ σελίδα μπορείτε κάθε φορά να ορίζετε

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΘΕΜΑ 1 ο Α. Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες. 1. Μια διαδικασία

Διαβάστε περισσότερα

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1 Διασυνδεδεμένες Δομές Λίστες Προγραμματισμός II 1 lalis@inf.uth.gr Διασυνδεδεμένες δομές Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση του είναι

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 9η εβδομάδα. Κοζάνη, 2 Δεκεμβρίου 2008. Δίνονται παραδείγματα που αποσαφηνίζουν και συμπληρώνουν όσα αναφέρθηκαν στο μάθημα σχετικά με τις δομές

Διαβάστε περισσότερα

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ ΑΠΟ ΕΩΣ 02/04/2018 ΕΩΣ 14/04/2018 ΤΑΞΗ: ΜΑΘΗΜΑ: Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α Α1. Να

Διαβάστε περισσότερα

Snort. A multi-mode packet analysis tool 3-1. Ασφάλεια Δικτύων, Τμήμα Πληροφορικής, Ο.Π.Α.,

Snort. A multi-mode packet analysis tool 3-1. Ασφάλεια Δικτύων, Τμήμα Πληροφορικής, Ο.Π.Α., Snort A multi-mode packet analysis tool Ασφάλεια Δικτύων, Τμήμα Πληροφορικής, Ο.Π.Α., 3-1 Περιεχόμενα Εισαγωγή Snort Θέση στο δίκτυο Αρχιτεκτονική Snort Εντοπισμός εισβολών Κανόνες Snort Demo εκτέλεσης

Διαβάστε περισσότερα

Παιχνίδι TCP-IP (περιγραφή πρωτοκόλλων)

Παιχνίδι TCP-IP (περιγραφή πρωτοκόλλων) Παιχνίδι TCP-IP (περιγραφή πρωτοκόλλων) Επιμέλεια : Χ. Πατρικάκης (βασισμένο στην ιδέα του Norman Pendegraft. 2003: The TCP/IP game, Current issues in IT education, Tanya McGill (Ed.). IGI Publishing,

Διαβάστε περισσότερα

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2013 Γ Λυκείου Τεχνολογική Κατεύθυνση ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5

Διαβάστε περισσότερα

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

Διαβάστε περισσότερα

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες 0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε

Διαβάστε περισσότερα

Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β

Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΚΥΡΙΑΚΗ 23/04/2017 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΟΔΗΓΙΕΣ ΑΥΤΟΔΙΟΡΘΩΣΗΣ ΘΕΜΑ Α Α1. 2 μονάδες για κάθε σωστό χαρακτηρισμό.

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό καθεμιάς

Διαβάστε περισσότερα

Τελικός Κύκλος Διαγωνισμάτων Γ ΛΥΚΕΙΟΥ Κυριακή 17 Απριλίου 2016 Μάθημα: Α.Ε.Π.Π. KTIΡΙΟ ΤΜΗΜΑΤΑ ΚΑΛΟΚΑΙΡΙΝΑ ΑΡΓΥΡΟΥΠΟΛΗΣ - ΗΛΙΟΥΠΟΛΗΣ - ΓΛΥΦΑΔΑΣ

Τελικός Κύκλος Διαγωνισμάτων Γ ΛΥΚΕΙΟΥ Κυριακή 17 Απριλίου 2016 Μάθημα: Α.Ε.Π.Π. KTIΡΙΟ ΤΜΗΜΑΤΑ ΚΑΛΟΚΑΙΡΙΝΑ ΑΡΓΥΡΟΥΠΟΛΗΣ - ΗΛΙΟΥΠΟΛΗΣ - ΓΛΥΦΑΔΑΣ Τελικός Κύκλος Διαγωνισμάτων Γ ΛΥΚΕΙΟΥ Κυριακή 17 Απριλίου 2016 Μάθημα: Α.Ε.Π.Π. KTIΡΙΟ ΤΜΗΜΑΤΑ ΚΑΛΟΚΑΙΡΙΝΑ ΑΡΓΥΡΟΥΠΟΛΗΣ - ΗΛΙΟΥΠΟΛΗΣ - ΓΛΥΦΑΔΑΣ Ονοματεπώνυμο Τμήμα Καθηγητής Επιτηρητής Αίθουσα Διάρκεια:

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2 ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2 ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΙΑΝΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2 Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

G-Remote Banking e-banking ΜΕΤΑΦΟΡΕΣ ΜΑΖΙΚΕΣ ΜΕΤΑΦΟΡΕΣ

G-Remote Banking e-banking ΜΕΤΑΦΟΡΕΣ ΜΑΖΙΚΕΣ ΜΕΤΑΦΟΡΕΣ ΜΕΤΑΦΟΡΕΣ ΜΑΖΙΚΕΣ ΜΕΤΑΦΟΡΕΣ Σε αυτή την ενότητα, σας δίνεται η δυνατότητα να εκτελέσετε µεταφορές χρηµατικών ποσών από λογαριασµούς σας στη GENIKI Bank σε πολλούς λογαριασµούς τρίτων στη GENIKI Bank, µε

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

Εξοικείωση με τις εντολές ipconfig και ping

Εξοικείωση με τις εντολές ipconfig και ping Διαχείριση Δικτύων Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Ηπείρου Εργαστηριακή Άσκηση Εξοικείωση με τις εντολές ipconfig και ping Σημείωση : Η άσκηση αναφέρεται σε εντολές των Windows. Υπάρχουν παρόμοιες

Διαβάστε περισσότερα

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΑΡΧΗ 1 ης ΣΕΛΙΔΑΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών Θέμα 1 ο Α. Να χαρακτηρίσετε κάθε μία από

Διαβάστε περισσότερα

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 1: Συγχώνευση Εγγραφών Δυαδικών Αρχείων Προθεσμία: 2 Μαΐου 2011, 5:00μμ

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεμένες Δομές - Λίστες Διασυνδεδεμένες δομές δεδομένων Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα. Η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση

Διαβάστε περισσότερα

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Κεφάλαιο 7: Υποπρογράμματα Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υποπρογραμμάτων (subprogram abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Προθεσµία: 18/12/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης 1 Οδηγίες αποστολής άσκησης Διαδικαστικά Η εργασία

Διαβάστε περισσότερα

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία Improving the performance of TCP in the case of packet reordering Στρατάκη Μαρία Γενικές Πληροφορίες για το TCP/IP TCP (Transmission Control Protocol) IP (Internet Protocol) Χωρίζουν τα δεδομένα σε τμήματα

Διαβάστε περισσότερα

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α : Α1. Να

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη

Διαβάστε περισσότερα

Διαδικασία χρήσης module Αναλυτικής Λογιστική. (v.1.0.7)

Διαδικασία χρήσης module Αναλυτικής Λογιστική. (v.1.0.7) Διαδικασία χρήσης module Αναλυτικής Λογιστική (v.1.0.7) Περίληψη Με το Module της Αναλυτικής Λογιστικής πραγματοποιείται η παρακολούθηση όλου του κυκλώματος και η ενημέρωση της Αναλυτικής Λογιστικής από

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012 ΘΕΜΑ Α Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: 1. Κάθε βρόγχος που υλοποιείται με την εντολή Για μπορεί να

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Αυτόματο Κλείσιμο Ισολογισμού

Αυτόματο Κλείσιμο Ισολογισμού Αυτόματο Κλείσιμο Ισολογισμού Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας διαχείρισης Οδηγιών Αυτόματου Κλεισίματος Ισολογισμού στην εφαρμογή extra Λογιστική

Διαβάστε περισσότερα

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

Διαβάστε περισσότερα

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

Διαβάστε περισσότερα

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Οι σημειώσεις, αν και βασίζονται στο διδακτικό πακέτο, αποτελούν προσωπική θεώρηση της σχετικής ύλης και όχι επίσημο

Διαβάστε περισσότερα