Wireshark & Packet Sniffing

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Wireshark & Packet Sniffing

Δημοσίευσηαπό Star_Light » 10 Ιουν 2011, 02:06

Καλησπέρα σε όλον τον λινουξόκοσμο :D . Σήμερα και σε αυτόν τον οδηγό θα κάνουμε αναφορά στον διάσημο Packet Sniffer & Network Analyzer που ακούει στο όνομα Wireshark.

ΠΕΡΙΕΧΟΜΕΝΑ

1. ΕΓΚΑΤΑΣΤΑΣΗ

2. ΛΕΙΤΟΥΡΓΙΑ

3. ΤΑ ΒΑΣΙΚΑ ΠΡΩΤΟΚΟΛΛΑ ΤΗΣ ΔΙΚΤΥΩΣΗΣ

4. ΠΡΑΚΤΙΚΗ ΕΞΑΣΚΗΣΗ ΜΕ ΤΟ WIRESHARK

1. Σε αυτή την παράγραφο δεν αναφέρεται κάποια συγκεκριμένη δυσκολία μπορούμε να ανοίξουμε το κέλυφος και να ψάξουμε το wireshark απο τα αποθετηριά μας με την παρακάτω εντολή

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~$ sudo apt-cache search wireshark


η έξοδος της παραπάνω εντόλης είναι

Κώδικας: Επιλογή όλων
etherpuppet - create a virtual interface from a remote Ethernet interface
packeth - Ethernet packet generator
snmp-mibs-downloader - Install and manage Management Information Base (MIB) files
tshark - network traffic analyzer - console version
wireshark - network traffic analyzer - GTK+ version
wireshark-common - network traffic analyzer - common files
wireshark-dbg - network traffic analyzer - debug symbols
wireshark-dev - network traffic analyzer - development tools


Κώδικας: Επιλογή όλων
wireshark - network traffic analyzer - GTK+ version

αυτό εδώ λοιπόν είναι εντάξει. Και δίνουμε την γνωστή σε όλους εντολή εγκατάστασης

Κώδικας: Επιλογή όλων
sudo apt-get install wireshark


Για να είμαστε 100% σίγουροι για αυτα που πληκτρολογούμε , μόνο ο χρήστης root μπορεί να εγκαταστήσει κάτι στο συστημά μας επομένως ζητώντας δικαιώματα χρήστη root προσωρινά και μέσω του συστήματος APT-GET στο ubuntu κάνουμε install το wireshark.
στην συνέχεια για να τρέξουμε το Wireshark μπορούμε απο το τερματικό να δώσουμε την
Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~$ sudo wireshark


Για να ξεκινήσει η διαδικασία της σύλληψης των πακέτων (αφου έχουμε ανοίξει και κάποια ιστοσελίδα βέβαια) θα πρέπει να κάνουμε κλικ πάνω στο διαδικτυακό μας interface (οπως ακριβώς περιγράφεται και απο την ifconfig) εμένα ειναι το eth0.


:!: :!: :!: Ωστόσο ως προς την ασφάλεια το να τρέχουμε το wireshark σαν υπερχρήστες μπορεί να αποτελέσει ένα κενό ασφάλειας


2. Στο σημείο αυτο θα πούμε 2-3 θεωρητικά πραγματάκια για το wireshark και την λειτουργία του για να γνωρίζουμε πάνω κάτω και πως δουλεύει.

ΌΠως είπαμε και πιο πάνω η δουλειά αυτού υου λογισμικού και γενικότερα των Sniffers ειναι να συλλαμβάνουν πακέτα. Το Wireshark αποτελείται απο 2 βασικά συστατικά

1. ΒΙΒΛΙΟΘΗΚΗ ΣΥΛΛΗΨΗΣ ΠΑΚΕΤΩΝ (Packet capture library)

λαμβάνει ένα αντίγραφο κάθε frame επιπέδου ζεύξης που στέλνεται ή λαμβάνεται απο και πρός τον υπολογιστή σας. Τα μηνύματα που ανταλάσσονται απο τα πρωτόκολλα των ανωτέρων επιπέδων (HTTP,FTP,TCP,UDP,IP) όλα ενθυλακώνονται (headers) μέσα σε πλαίσια επιπέδου ζεύξης δεδομένων που μεταδίδονται μέσω του Ethernet. Επομένως εξ ορισμού η σύλληψη ενός τέτοιου πακέτου - καλύτερα πλαισίου επιπέδου ζεύξης μας παρέχει όλα τα μηνύματα που παρέχονται απο όλα τα πρωτόκολλα.

2. ΑΝΑΛΥΤΗΣ ΠΑΚΕΤΩΝ

Είναι το 2ο συστατικό του Wireshark , απεικονίζει τα περιεχόμενα όλων των πεδιών μέσα στο μήνυμα ενός πρωτοκόλλου. Πρέπει να είναι σε θέση να καταλαβαίνει τη δομή των μηνυμάτων που ανταλλάσονται απο τα πρωτόκολλα . Αν για παράδειγμα εγω ήθελα να απεικονίσω και θα το δούμε αυτο και παρακάτω πως φαίνεται μεσα απο το πρόγραμμα , αν ήθελα να απεικονίσω λοιπόν τα διάφορα πεδία του TCP , ο αναλυτής πακέτων καταλαβαίνει
την μορφή των πλαισίων του Ethernet και επομένως μπορεί να αναγνωρίσει ένα αυτοδύναμο IP packet , επίσης καταλαβαίνει την μορφή του IP datagram ωστε να είναι σε θέση να εξάγει ενα TCP segment που περιέχεται μέσα στο IP datagram (συμφωνα και με την διαδικασία της ενθυλάκωσης όταν δημιουργείται ένα πακέτο) , εφόσον καταλαβαίνει την δομή του segment μπορεί να απεικονίσει και τα πεδία του κτλπ.


3. ΤΑ ΒΑΣΙΚΑ ΤΗΣ ΔΙΚΤΥΩΣΗΣ

Το Wireshark ουσιαστικά εφόοσον αποτελεί εργαλείο του δικτύου δεν θα μπορούσε σε καμια περίπτωση να μην βασίζεται στο βασικό πρωτόκολλο δικτύωσης TCP/IP . Η κουβέντα για την δικτύωση ειναι πολύ μεγάλη και θα ξεφύγει απο τους σκοπούς αυτού του οδηγού. Το Wireshark εκτός απο το SNiffing αποτελεί και ενα ωραιότατο εργαλείο με βάση το οποίο κάποιος μπορεί να μάθει καλύτερα και σε βάθος τα δικτυακά πρωτόκολλα και τις γενικότερες αρχές που παίζουν σε ένα δίκτυο όπως το Internet . Ωστόσο πρίν κάποιος τα δεί στην πράξη επιβάλλεται να γνωρίζει θεωρητικά 2-3 πράγματα σχετικα με το TCP/IP Και τις αρχές του. Μια πρώτη διαθέσιμη πηγή είναι της Wikipedia

http://el.wikipedia.org/wiki/TCP/IP

2-3 συγκεντρωτικά πράγματα που θα πρέπει να ξέρουμε για το TCP/IP είναι τα εξής :

->Το 1ο επίπεδο είναι το φυσικό μέσο(PHYSICAL layer) απο όπου "γεννίεται" η πληροφορία και δημιουργείται ενας συρμός - ακολουθία απο bits
η οποια θα μεταδοθεί στο φυσικό μέσο. Διαχειρίζεται και συγχρονίζει τα τα ηλεκτρικά και αναλογικά σήματα που αποτελούν τα δεδομένα που μεταδίδονται.

->Tο 2ο επίπεδο είναι το επίπεδο ζεύξης δεδομένων(DLL - Data link layer) το οποίο επιτελεί 2 ξεχωριστές λειτουργίες και σπάει στα αντίστοιχα επίπεδα MAC / LLC (Medium Access Control) & (Logical Link COntrol) το MAC ειναι το επίπεδο στο οποίο γίνεται η "αναγνώριση" δηλαδη σε ποιόν υπολογιστή του τοπικού δικτύου ανήκει το πακέτο που έχει παραληφθεί. Κάτι που προκύπτει απο την διεύθυνση προορισμού που ενσωματώνεται μέσα στο πλαίσιο σαν πεδίο. Στο LLC εκτελούνται λειτουργίες ελέγχου λαθών για τα μεταδιδόμενα frames.

-> Στο 3ο επίπεδο -επίπεδο δικτύου- Network Layer ουσιαστικά η κύρια δουλειά είναι η δρομολόγηση μέσω κάποιων αλγορίθμων αποφασίζεται ποιά διαδρομή είναι η καταλληλότερη για ενα datagram . Το datagram διέρχεται απο κόμβους του δικτύου οι οποίοι ανάλογα με την διευθυνσή του το προωθουν σε άλλους κόμβους του δικτύου μέχρι τον τελικό προορισμό. Η προώθηση γίνεται με βάση μια λογική διεύθυνση 32 - bit την γνωστή σε όλους IP λέγεται λογική για να διαχωρίζεται απο την φυσική διεύθυνση MAC του τοπικού μας δικτύου η οποία είναι σε δεκαεξαδική μορφή.

-> Στο 4ο επίπεδο το επίπεδο Μεταφοράς -TRANSPORT layer- εδώ παίζουν 2 βασικά πρωτόκολλα με τα οποία γίνεται η μεταφορά των δεδομένων στα τερματικά το TCP & το UDP . Μια βασική διαφορά ανάμεσα σε αυτα τα 2 πρωτόκολλα (περα απο τις άλλες) ειναι οτι το μεν πρώτο εγγυάται οτι το πακέτο θα παραληφθεί με επιτυχία και συνεπώς αυτο κοστίζει σε "στοιβαροτητα" ειναι δηλαδή πιο βαρύ πρωτόκολλο και συνεπώς πιο αργό (τι δεν έχει τίμημα άραγε σε αυτη την ζωή? :D :D ) το UDP απο την άλλη κάνει στοιχειώδη έλεγχο λαθών και δεν εγγυάται οτι το πακέτο έχει φτάσει στον προορισμό του. Το TCP χρησιμοποιεί port numbers για να αναγνωρίσει τις συνδιαλέξεις . Τα προγράμματα χρηστών συνήθως χρησιμοποιούν τυχαία port numbers. Σε αυτές τις πόρτες υπάρχουν εφαρμογές του ανωτέρου επιπέδου οπου ακούν για συνδέσεις για παράδειγμα η γνωστή πόρτα 80 για την εφαρμογή του browser . ΣΥνεπώς μια θύρα ειναι μια προκαθορισμένη εσωτερική διεύθυνση που εξυπηρετεί ως μια διαδρομή απο την εφαρμογή στο επίπεδο μεταφοράς και το αντίστροφο. Στον παρακάτω σύνδεσμο υπάρχει μια λίστα με όλα τα διαθέσιμα ports.

http://el.wikipedia.org/wiki/%CE%9A%CE% ... _UDP_ports

-> 5o επίπεδο (και τελευταίο για το μοντέλο του TCP/IP) - application layer επίπεδο εφαρμογής. Ουσιαστικά στο ανώτατο αυτό επίπεδο συναντάει κανείς καθαρές υπηρεσίες δικτύωσης. Υπηρεσίές οπως το FTP (για μεταφορά αρχείων) , HTTP (για πλοήγηση στο διαδίκτυο) , POP (για λήψη της ηλεκτρονικής αλληλογραφίας απο τις θυρίδες ενος διακομιστή αλληλογραφίας) κτλπ.


4.

Ανοίγοντας το Wireshark στην αρχική όψη του προγράμματος θα δούμε τις παρακάτω επιλογές


Εικόνα 1 :

Εικόνα

Μας παρέχει πανω αριστερά μια λίστα με τα διαδικτυακά Interface εκει θα δούμε το διαδικτυακό ή τα διαδικτυακά μας INterface
σε μένα δείχνει το eth0 για παράδειγμα κατω κάτω στο Capture Help υπάρχει ενας οδηγός για βοήθεια κτλπ.


Αφου έχουμε ανοίξει το wireshark απο το τερματικό θα χρησιμοποιήσουμε και μια ιστοσελίδα της δικής μας επιλογής για να δούμε την σύλληψη των πακέτων

Εικόνα 2 :

Εικόνα

Σε αυτό το σημείο μπορούμε να δούμε 5 βασικά πεδία που παρέχουν δυνατότητες στο πρόγραμμα τα οποία είναι

1.ΜΕΝΟΥ ΕΝΤΟΛΩΝ -> File , edit , capture κτλπ ... πανω πανω στην πρώτη μπάρα.

2. ΠΕΔΙΟ ΦΙΛΤΡΟΥ ΠΑΡΟΥΣΙΑΣΗΣ ΠΑΚΕΤΩΝ -> Για παράδειγμα εκεί που λέει Filter εγω μπορώ σε μια σύνδεση να πληκτρολογήσω το tcp ή οποιοδήποτε άλλο πρωτόκολλο θέλω να δώ. Αν όση ώρα πληκτρολογώ το χρώμα μέσα σε αυτό το κουτάκι είναι κόκκινο τότε υπάρχει σφάλμα ενώ αν ειναι πράσινο τότε ειμαι οκ. (Πχ αντι για tcp μπει TCP).

3. ΠΑΡΑΘΥΡΟ ΚΑΤΑΛΟΓΟΥ ΠΑΚΕΤΩΝ -> Στο σημείο εκείνο που υπάρχει η πορτοκαλί μπάρα και βλέπουμε την μεταφορά βλέπουμε τα πεδία Time , Source , Destination , Protocol , Info (θα εξηγηθεί παρακάτω αναλυτικά η διαδικασία που λαμβάνει χώρα)

4. ΠΑΡΑΘΥΡΟ ΛΕΠΤΟΜΕΡΕΙΩΝ ΕΠΙΚΕΦΑΛΙΔΑΣ ΠΑΚΕΤΟΥ -> Εδώ θα δούμε τα headers και τα πεδία που παίζουν σε κάθε πακέτο για τα πεδία μπορείτε να ανατρέξετε και στις πηγές που έχουν δοθεί παραπάνω.

5. ΠΑΡΑΘΥΡΟ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΑΚΕΤΟΥ -> Είναι το τελευταίο πεδίο παρουσιάζει το περιεχόμενο ενος συλλαμβανόμενου πλαισίου και σε μορφη ASCII αλλα και σε δεκαεξαδική μορφή... αριστερά και δεξιά αντίστοιχα ;)


Στην παραπάνω εικόνα μπορούμε πλέον να δούμε την διαδικασία TCP Handshake μέσω της οποίας εγκαθίστανται μια σύνδεση...
Θεωρία σχευτικά με το TCP 3-way handshaking υπάρχει εδώ

http://el.wikipedia.org/wiki/Transmissi ... l_Protocol

Πάμε τωρα να δούμε τι ακριβώς γίνεται οταν εγώ πληκτρολογώ την διεύθυνση που θέλω να μπώ απο τον υπολογιστή μου.
Καταρχήν απο την IP του δικού μου υπολογιστή : 192.168.1.x και η διεύθυνση η οποία θέλω να ανακτήσω ειναι
http://www.mad.tv (Οι IP διευθυνσεις των σαιτ που θα εξετασουμε δεν κρυβονται στον παροντα οδηγο διοτι δεν ειναι κρυφες , δεν ειναι εσωτερικου δικτυου διευθυνσεις παρα μονο ενος Web διακομιστη που εξυπηρετει χρηστες του ιντερνετ εξω απο το τοπικο δικτυο)!!!! Ο υπολογιστης μου αρχικα λοιπον χρειαζεται την διευθυνση που έχω πληκτρολογησει στον browser οπότε και στέλνεται ενα DNS αναδρομικό ερώτημα προς το gateway (ρουτερ στην συγκεκριμενη περιπτωση ) που συμφωνα με το παράδειγμα θα εκτελέσει "χρεη" διακομιστή ονομάτων. (ΑΝ σε αυτο το σημειο εχω κατι λαθος μπορειτε να με διορθωσετε) οπως φαινεται και στην παραπανω Eικόνα 1

Κώδικας: Επιλογή όλων
Standard query A www.mad.tv


απο τον υπολογιστη μου με IP 192.168.1.x προς το ρουτερακι με IP 192.168.1.2

Σε αυτο το ερώτημα λέγεται στον διακομιστή ονομάτων , δηλαδη στο ρουτεράκι μας "Δωσε μου την IP διεύθυνση που σχετίζεται με αυτό το όνομα ή διαφορετικά πες μου οτι δεν μπορείς να την βρείς" . Αν ο διακομιστής δεν μπορεί να την βρεί στις δικές του εγγραφές θα ξεκινήσει μια διαδικασία στην οποία ρωτά άλλους διακομιστές ονομάτων για αυτη την διεύθυνση. Τοτε ο διακομιστής (στην συγκεκριμενη περιπτωση το ρουτερακι μας) θα χρησιμοποιήσει ενα επαναληπτικό ερώτημα που θα λεει στον επόμενο διακομιστή ονομάτων "Δώσε μου την IP διεύθυνση που σχετίζεται με αυτο το όνομα ή δωσε μου μια ένδειξη που μπορώ να την βρώ" . Όταν ο διακομιστής ονομάτων πάρει την διεύθυνση που σχετίζεται με το όνομα απαντά στο ερώτημα του πελάτη δίνοντας του την διεύθυνση. Ακριβως αυτο γίνεται λοιπον και στην απο κατω γραμμη

Κώδικας: Επιλογή όλων
Standard query response A 195.46.8.22


H διαδικασία DNS έχει να κάνει με την επίλυση του ονόματος δηλαδη με την αντιστοίχηση του ονόματος σε μια IP διεύθυνση.
Με αυτο τον τροπο επωφελούμαστε όλοι! Και εμεις οι άνθρωποι που δεν μπορούμε να θυμόμαστε λογικές διευθύνσεις. Αλλα και οι Υπολογιστές οι οποίοι
δεν μπορούν να καταλαβαίνουν αλφαρηθμιτικές διευθύνσεις!

Στις ακριβώς απο κατω 3 γραμμές οπου έχω σημειώσει και βελάκι... έχουμε την τριημερή χειραψία του μηχανισμου - πρωτοκόλλου του TCP.
Τριημερής γιατι αποτελείται απο 3 μέρη... 3 στάδια - βήματα και γίνεται πάντοτε στην αρχή μιας σύνδεσης ως τωρα αληθινή σύνδεση δεν υπήρχε ξεκινήσαμε απο το Physical του OSI οπου τα ηλεκτρικα σήματα διαμορφώθηκαν κατάλληλα σε ΗΜ σήματα για να φέρουν την πληροφορία που θέλουμε μέσα τους (αν δεν κάνω λάθος έχει έναν διαμορφωτή μέσα το ρουτερακι καθως και εναν αποδιαμορφωτη) στο DLL οτι παίζει απο λειτουργιές ελέγχου και ανίχνευσης λαθών(Ο αλγόριθμος CRC σε C ) παίζει μεσα σε τοπική δικτύωση στο IP απλα το πακέτο δρομολογείται για να φτάσει μεσα απο κόμβους του δικτύου στον επιθυμητό προορισμό και τώρα έχουμε την "καθαρή" σύνδεση.

Κατα το 1ο στάδιο (1η γραμμή) ο δικός μου υπολογιστής στέλνει ένα απόσπασμα με ενεργοποιημένη την σημαία SYN = 1 και με ACK=0
η σημαία SYN δηλώνει μια προσπάθεια να ανοίξει μια σύνδεση.

Στην γραμμή 2 ο Web Server του Mad απαντάει με ένα απόσπασμα στο οποιο η σημαία SYN είναι ακομη σε φάση συγχρονισμού = 1

και ενα ACK = 1 δηλαδη μια επιβεβαίωση οτι έχει λάβει ο υπολογιστης του Mad το 1ο απόσπασμα.

KAI τέλος στην γραμμή 3. Και ο δικός μου υπολογιστής στέλνει ένα απόσπασμα με ενεργοποιημένο το ACK = 1
για να δηλώσει πως έλαβε το τελευταίο απόσπασμα του υπολογιστή του Mad.

Ένα πιο ελεύθερο παράδειγμα θα μπορούσε να είναι και το εξής (σε ανθρώπινη γλώσσα):

My_Computer : Hello Mad , I want to connect with you!

Mad : Ok , Let's connect

My_Computer : Ok!

Στις επόμενες γραμμές έχουμε πλέον περάσει σε επίπεδο εφαρμογής οπου παίζει το πρωτόκολλο του παγκοσμιου ιστού HTTP.

Η έκδοση του πρωτοκολλου ειναι 1.1 (επέκταση της προηγούμενης 1.0) και μέσω της μεθόδου GET αν συνέχιζα με επόμενη εικόνα που
έδειχνε ολόκληρη την διαδικασία θα αρχίζαμε να βλέπουμε πως μια ιστοσελίδα η οποία αποτελείται απο πολλα επιμέρους μικρά αρχειάκια
πως τα ανακτούμε μεσω της GET του HTTP.


Στην Εικόνα 3 θα δούμε ενα απλό παραδειγματάκι "ασφάλειας" . Βασικα η ασφάλεια μπαίνει σε εισαγωγικά εδω διοτι δεν υφίσταται καν ο όρος της ασφάλειας απο την στιγμή που δεν χρησιμοποιείται είτε κάποιο πρωτόκολλο ασφάλειας , είτε κάποιο πρωτόκολλο που απλά έχει και μια επέκταση για την ασφάλεια , είτε γενικα κάποιο σύστημα που να παρέχει κρυπτογράφηση τελοςπάντων και μετατροπή ενός πακέτου που κυκλοφορεί free στο ίντερνετ σε μη αναγνώσιμη μορφή απο μη εξουσιοδοτημένους χρήστες. Παρόλαυτα είναι ένα παράδειγμα το οποίο θα μας βοηθήσει να καταλάβουμε για ποιό λόγο κάποιων μαλιάζει η γλώσσα να μας λένε να χρησιμοποιούμε κάποιο σύστημα κρυπτογράφησης ειδικότερα δε όταν διακινούνται ευαίσθητα δεδομένα τα οποία φυσικα είναι οι κωδικοί πρόσβασης. Φυσικά το αν θα χρησιμοποιήσουμε κάποιο σύστημα κρυπτογράφησης δεν είναι δικό μας μέλημα αλλα του σαιτ οπου είμαστε χρήστες . Στο Φεησμπουκ για παράδειγμα υπάρχει υποστήριξη για το SSL (αρκεί να ενεργοποιηθεί βεβαια) ενω σε κάποια απλά φόρουμς ή και σελίδες άλλες ακομη δεν υπάρχει (Ίσως καποιος τσιγκουνεύεται να πληρώσει την Verisign για τα ψηφιακά πιστοποιητικά οποτε και να μην διατίθεται κάποιο σύστημα κρυπτογράφησης για την σελίδα χεχεχε!)


Εικόνα


ΣΤην Εικόνα λοιπόν βλέπουμε πως ακριβώς φαίνονται όλα τα στοιχεία σε μια TCP σύνδεση με το FTP

Κώδικας: Επιλογή όλων
Request : USER anonymous


ΣHMΕΙΩΣΗ : Ο οποιοσδήποτε έχει "σπάσει" το ασύρματο μου δίκτυο και είναι πλέον τμήμα του δικού μου δικτύου μπορεί να δεί ακριβώς αυτα που βλέπετε και εσείς στην παραπάνω εικόνα(εξαρτάται βέβαια και απο την συσκευή που λειτουργεί ως έξοδος για το τοπικό δίκτυο και τα χαρακτηριστικά της). Και οκ το εισάγεις εναν default για όλους anonymous password για να κάνεις login σε έναν anonymous FTP server οπως ο ntua.gr και άλλοι ίσως να μην λέει και τίποτα. Αλλα μπορεί ο καθένας να δοκιμάσει να ανοίξει το Wireshark όταν προσπαθεί να κάνει μια σύνδεση δίνοντας κωδικό και όνομα χρήστη σε σελίδα η οποία δεν διαθέτει σύστημα κρυπτογράφησης είτε σε επίπεδο εφαρμογής (SSL ) είτε σε επίπεδο δικτύου ( IPsec ) και αφού έχει πατήσει stop capture (Η 2η επιλογή κατω απο το edit αν θυμαμαι καλα πανω πανω δεξια) και στο πεδίο Filter να βάλει http και θα δεί στο βελάκι που έχω σημειώσει και στην παραπάνω εικόνα τους κωδικούς φάτσα φόρα που λέμε μαζι φυσικά και με το όνομα χρήστη.


Εικόνα 4

Εικόνα

και τέλος θα κλείσουμε με ένα παράδειγμα κρυπτογράφησης. Στην παραπάνω εικόνα στα σημεία που βλέπουμε το TLSv1 πρόκειται για το Transport Layer Security έκδοσης 1 και είναι απλα ένα πρωτόκολλο ασφάλειας το οποίο έχει διαδεχθεί το SSL .
ΑΠο το τερματικό μπορώ να δώσω :

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~$ host 66.220.158.11
11.158.220.66.in-addr.arpa domain name pointer www-10-01-ash4.facebook.com.
kostas@kostas-SSL:~$


οποτε είναι απο το facebook και χρησιμοποιείται το SSL / TLS σε επίπεδο εφαρμογής που έχω ενεργοποιημένο στην προσωπική μου σελίδα . Εκτενέστερες πληροφορίες για το SSL μπορει κανεις να δει και απο την Wikipedia -> http://el.wikipedia.org/wiki/SSL
Άν προσέξει κανείς η κάνει το ίδιο παράδειγμα και ανοίξει το Wireshark θα δει οτι ο κωδικός δεν φαίνεται (άν δηλαδη επιλέξει μια γραμμή με το TLSv1 και πάει μετα να δεί τα περιεχομενά της απο το ΠΑΡΑΘΥΡΟ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΑΚΕΤΟΥ που είπαμε και πιο πάνω) . Φυσικά το κατα πόσο ασφαλής μπορεί να είναι κάποιος αυτο εξαρτάται απο πολλά πράγματα και ποτέ δεν ειναι 100% ακριβές οτι θα είσαι 100% ασφαλής :D . Πχ μια πρώτη πληροφορία που θα μπορούσε να αποσπάσει κάποιος κακόβουλος ή "καλόβουλος" πειραματιστής είναι η έκδοση 1 του πρωτοκόλλου οπου θα υπάρχει μετα αν ψάξει κάποια συγκεκριμένη υλοποίηση κρυπταλγορίθμου που την υποστηρίζει κτλπ... και εξαρτάται σε ποιόν θα πέσεις. Παρολαυτά πάντα θα πρέπει να χρησιμοποιούμε σελίδες οι οποίες έχουν μεριμνήσει εκ των προτέρων την ασφάλεια για τους χρήστες τους.

Ελπίζω να τον βρείτε χρήσιμο και ενδιαφέρον. Κάθε επισήμανση και διόρθωση είναι όχι μόνο αποδεκτή αλλα την περιμένω κιολας! ;)

Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα
Τελευταία επεξεργασία από Star_Light και 04 Δεκ 2011, 22:49, έχει επεξεργασθεί 7 φορά/ες συνολικά
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό Garrus » 13 Ιουν 2011, 23:00

Very nice!
Απαιτουνται παντα δικαιωματα διαχειριστη για να τρεξεις το wireshark?
1 Γνώσεις Linux: Ελπίζω τουλ. μέτρια ┃ Προγραμματισμού: Καλή ┃ Αγγλικών: Very best englands
2 Ubuntu 15.10 wily 64bit (en_US.UTF-8),
3 Intel Core i5-3210M CPU @ 2.50GHz ‖ RAM 3843 MiB ‖ SAMSUNG ELECTRONICS CO., LTD. NP350E5C-S03GR [...]
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) ⋮ [AMD/ATI] Thames [Radeon HD 7500M/7600M Series] [1002:6840] (rev ff)
5 enp2s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09) ⋮ wlp3s0: Qualcomm Atheros AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Garrus
punkTUX
punkTUX
 
Δημοσιεύσεις: 179
Εγγραφή: 26 Ιαν 2011, 03:23
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό Star_Light » 14 Ιουν 2011, 03:12

Garrus έγραψε:Very nice!
Απαιτουνται παντα δικαιωματα διαχειριστη για να τρεξεις το wireshark?


Καλησπερα. Ευχαριστω. Κοιτα εγω οταν το εψαχνα πως να το τρεξω στην αρχη
ωστε να αρχισει την συλληψη των πακετων δεν μου το εκανε... μεχρι που εδωσα
μια sudo και ξεμπερδεψα και δεν το εψαξα αλλο.... εγω παντα το τρεχω με sudo
αν θες μεχρι να το βρω να το βρεις εσυ ψαξε στην τεκμηριωση για το Wireshark
στην επισημη σελιδα της... γιατι μαλλον θα το κοιταξω παλι σε 2-3 μερες .
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό medigeek » 14 Ιουν 2011, 09:08

Star_Light έγραψε:Απαιτουνται παντα δικαιωματα διαχειριστη για να τρεξεις το wireshark?


Κώδικας: Επιλογή όλων
cat /usr/share/doc/wireshark-common/README.Debian

http://pastebin.com/yk7HKxUR

Δε θα το σύστηνα πάντως, είναι σαν να αφήνεις κάποιον να στέκεται από πάνω σου καθώς είσαι στο διαδίκτυο. :P
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό Star_Light » 14 Ιουν 2011, 17:16

medigeek έγραψε:
Κώδικας: Επιλογή όλων
cat /usr/share/doc/wireshark-common/README.Debian

http://pastebin.com/yk7HKxUR

Δε θα το σύστηνα πάντως, είναι σαν να αφήνεις κάποιον να στέκεται από πάνω σου καθώς είσαι στο διαδίκτυο. :P


Δεν εχω προλαβει να το ψαξω αυτο που λες αλλα φυσικα θεωρησα καλο να πω και στον οδηγο
οτι το να τρεχεις το Wireshark σαν root ειναι κενό ασφάλειας συμφωνα και με την τεκμηριωση.Σιγουρα θα το ψαξω ομως και θα το ενσωματωσω και στον οδηγο. Πανω κατω κενα ασφάλειας υπάρχουν
σε ολες τις εφαρμογες που εχουμε αυτη τη στιγμη εγκατεστημενες στο συστημα μας. Το θεμα ειναι
ποια ειναι η πιο ευκολη για καποιον ελαχιστα προχωρημενο. Να στεκεται αυτος ο καποιος απο πανω σου?
που? Στο LAN? η και στο εξω δικτυο??? μπορεις να γινεις πιο συγκεκριμενος??? Και αν ναι ... πως? ΣΤο δικο μου LAN ειμαι μονο εγω
και ειναι ενσυρματο.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό medigeek » 14 Ιουν 2011, 18:47

Star_Light έγραψε:Το θεμα ειναι
ποια ειναι η πιο ευκολη για καποιον ελαχιστα προχωρημενο. Να στεκεται αυτος ο καποιος απο πανω σου?
που? Στο LAN? η και στο εξω δικτυο??? μπορεις να γινεις πιο συγκεκριμενος??? Και αν ναι ... πως? ΣΤο δικο μου LAN ειμαι μονο εγω
και ειναι ενσυρματο.


Αν είναι όπως το έχω καταλάβει, υπάρχουν δύο τρόποι:
- gksu wireshark
- αν ο χρήστης γίνει μέλος της ομάδας wireshark θα μπορεί να τρέξει χωρίς sudo/gksu privileges. Αυτό εξηγεί ένας χρήστης εδώ: http://packetlife.net/blog/2010/mar/19/ ... root-user/

Το πρόβλημα με το "gksu wireshark" είναι ότι δίνεις απόλυτη ελευθερία σε ένα προγραμμα που έχει μεγάλο αριθμό γραμμών κώδικα και μάλλον τείνει να έχει περισσότερες πιθανοτητες να βρεθεί πρόβλημα ασφαλείας με τον κώδικα.

Από την άλλη, το να προσθέσεις ένα χρήστη στην ομάδα wireshark αυτόματα του δίνεις προνόμια να παρακολουθεί τη σύνδεση. Πες έρθει κάποτε ένα πρόγραμμα και ο χρήστης το τρέξει και είναι ένα virus που τρέχει την εντολή για να παρακολουθεί τη σύνδεση και στέλνει με ftp πληροφορίες (λέμε τώρα...). Οι πιθανότητες είναι αστρονομικές, αλλά και πάλι μπορεί να τύχει, δεν ξέρεις ποτέ.

Κατά τη γνώμη μου και οι δύο τρόποι είναι προβληματικοί, γι' αυτό αποφεύγω να χρησιμοποιώ τέτοιου είδους προγράμματα.
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό Star_Light » 15 Ιουν 2011, 13:20

medigeek έγραψε:
Star_Light έγραψε:Το θεμα ειναι
ποια ειναι η πιο ευκολη για καποιον ελαχιστα προχωρημενο. Να στεκεται αυτος ο καποιος απο πανω σου?
που? Στο LAN? η και στο εξω δικτυο??? μπορεις να γινεις πιο συγκεκριμενος??? Και αν ναι ... πως? ΣΤο δικο μου LAN ειμαι μονο εγω
και ειναι ενσυρματο.


Αν είναι όπως το έχω καταλάβει, υπάρχουν δύο τρόποι:
- gksu wireshark
- αν ο χρήστης γίνει μέλος της ομάδας wireshark θα μπορεί να τρέξει χωρίς sudo/gksu privileges. Αυτό εξηγεί ένας χρήστης εδώ: http://packetlife.net/blog/2010/mar/19/ ... root-user/

[Το πρόβλημα με το "gksu wireshark" είναι ότι δίνεις απόλυτη ελευθερία σε ένα προγραμμα που έχει μεγάλο αριθμό γραμμών κώδικα και μάλλον τείνει να έχει περισσότερες πιθανοτητες να βρεθεί πρόβλημα ασφαλείας με τον κώδικα.

Από την άλλη, το να προσθέσεις ένα χρήστη στην ομάδα wireshark αυτόματα του δίνεις προνόμια να παρακολουθεί τη σύνδεση. Πες έρθει κάποτε ένα πρόγραμμα και ο χρήστης το τρέξει και είναι ένα virus που τρέχει την εντολή για να παρακολουθεί τη σύνδεση και στέλνει με ftp πληροφορίες (λέμε τώρα...). Οι πιθανότητες είναι αστρονομικές, αλλά και πάλι μπορεί να τύχει, δεν ξέρεις ποτέ.

Κατά τη γνώμη μου και οι δύο τρόποι είναι προβληματικοί, γι' αυτό αποφεύγω να χρησιμοποιώ τέτοιου είδους προγράμματα.


Οχι ουτε εγω ειμαι της αποψης να βαλω καποιον στην ομαδα
οποτε οταν το τρεχω θα το τρεχω με δικαιωματα χρηστη
νταξει δεν ειναι να το τρεχεις και καθε μερα :P
απλα ας εξηγησει καποιος ποια ειναι η διαφορα να τρεχεις
το συγκεκριμενο προγραμμα σαν root απο μια localhost
με καποιο αλλο προγραμμα που θα το τρεχει ουτως η αλλως ο ροοτ
σε καποια αλλη πορτα του localhost. Δηλαδη με λιγα λογια
ποια η διαφορα με εναν SSH server που θα χεις εγκατεστημενο
η καποιον αλλο??? Θυμαμαι εχω ρωτησει για καποιες υπηρεσιες
που ετρεχαν σαν root και μου ειχανε πει οτι δεν υπαρχει προβλημα ασφαλειας εκει
εδω γιατι να υπαρχει ας πουμε.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό Star_Light » 16 Ιουν 2011, 06:42

ξεχασα να πω. Πως αυτος ειναι και ενας πολυ ωραιος οδηγος προειδοποιησης για οσους
κλεβουν ιντερνετ απο το ασυρματο access point του γειτονα τους. Μπορει ανετα
καποιος να σας μαζεψει 2-3 κωδικους.... ειδικα αν δεν έχετε κάνει enable το SSL
ή αν δεν υπαρχει συστημα κρυπτογραφησης
ειτε σε επιπεδο δικτυου ειτε σε επιπεδο εφαρμογης στο σαιτ που βαζετε ευαισθητα δεδομενα. ΤΟ ξερω γινομαι κουραστικος
αν επαναλαμβανομαι αλλα καλο ειναι να εχουν επιγνωση οσοι παραβιαζουν το ασυρματο
τι κινδυνους διατρεχουν.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό ftso » 23 Ιουν 2011, 13:12

Στην σχολή μου παίζει έτσι http://www.v13.gr/blog/?p=9
Αν και πάλι δεν είναι 100% secure...
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Wireshark & Packet Sniffing

Δημοσίευσηαπό linuxs » 13 Σεπ 2011, 02:31

Star_Light φοβερή δουλειά! ;) Αρχίζω να το διαβάζω αναλυτικά και μαζί με την άσκηση που περιμένω θα περάσω αυτό το βράδυ... :P
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Επόμενο

Επιστροφή στο Οδηγοί - How to - Tutorials