Το Wireshark αποτελεί ένα από τα διασημότερα προγράμματα παγκοσμίως για την ανάλυση των δικτύων. Αυτό το πολύ δυνατό εργαλείο παρέχει πληροφορίες για το δίκτυο σας και των πρωτοκόλλων ανώτερου επιπέδου σχετικά με τα δεδομένα που διακινούνται σ’ αυτό.
Όπως πολλά άλλα δικτυακά προγράμματα, το Wireshark χρησιμοποιεί τη δικτυακή βιβλιοθήκη pcap για την σύλληψη (ανάλυση) των πακέτων.

Η δύναμη του Wireshark πηγάζει από:
- την ευκολία εγκατάστασής του.
- την απλότητα της χρήσης του μέσω της γραφικής διεπαφής του (GUI).
- το μεγάλο αριθμό της λειτουργικότητας του.

Το Wireshark ονομαζόταν Ethereal μέχρι το 2006, όταν ο επικεφαλής προγραμματιστής, αποφάσισε την αλλαγή του ονόματός του λόγω δικαιωμάτων χρήσης που προϋπήρχαν για το όνομα Ethereal, το οποίο ήταν κατοχυρωμένο από την εταιρεία από την οποία αποφάσισε να αποχωρήσει το 2006.

Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με το Wireshark στην ιστοσελίδα της Wikipedia.



Εάν δεν χρησιμοποιείτε Γραφικό Περιβάλλον, θα μπορούσατε να χρησιμοποιήσετε το "TShark" το οποίο αποτελεί την έκδοση CLI του Wireshark.
Το Tshark υποστηρίζει τις ίδιες λειτουργίες με το Wireshark.


Εκκίνηση του Wireshark ή του Ethereal:


Επιλογή της σύνδεσης προς σύλληψη (ανάλυση)

Capture (Σύλληψη) -> Options (Επιλογές)
Επιλέξτε τη σύνδεση δικτύου και πατήστε το Start.



Το αποτέλεσμα μετά την εκκίνηση του Wireshark.



Μετά την έναρξη του Wireshark επιτυχώς, είμαστε έτοιμοι να εξετάσουμε την πλατφόρμα του Wireshark έτσι ώστε να μπορούμε να χρησιμοποιήσουμε αυτό το υπέροχο εργαλείο.



ΜΕΝΟΥ

Τα οχτώ μενού στην κορυφή της πλατφόρμας χρησιμεύουν στη ρύθμιση του Wireshark:

- "File"
- "Edit"
- "View"
- "Go"
- "Capture"
- "Analyze"
- "Statistics"
- "Help"
Ανοίγει ή αποθηκεύει μία σύλληψη(ανάλυση).
Βρίσκει ή σημειώνει πακέτα. Ρυθμίζει τις γενικές προτιμήσεις.
Ρυθμίζει την προβολή της πλατφόρμας του Wireshark.
Πηγαίνει σε δεδομένα εντός της σύλληψης.
Ορίζει τις επιλογές των φίλτρων της σύλληψης και εκκινεί τη σύλληψη.
Ορίζει τις επιλογές Ανάλυσης.
Απεικονίζει στατιστικά για το Wireshark.
Βρίσκει διαθέσιμη υποστήριξη μέσω διαδικτύου ή τοπικά.

  ΣΥΝΤΟΜΕΥΣΕΙΣ

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

ΠΡΟΒΟΛΗ ΦΙΛΤΡΟΥ



Η προβολή Φίλτρου χρησιμοποιείται για την αναζήτηση μέσα στα καταγεγραμμένα αρχεία συλλήψεων.

ΠΙΝΑΚΑΣ ΛΙΣΤΑΣ ΠΑΚΕΤΩΝ

Ο πίνακας της λίστας πακέτων απεικονίζει όλα τα συλλαμβανόμενα πακέτα. Μπορείτε να πάρετε πληροφορίες όπως τις διευθύνσεις MAC/IP προορισμού ή εκκίνησης, τους αριθμούς των θυρών TCP/UDP, το πρωτόκολλο ή τα περιεχόμενα του πακέτου.

Εάν ένα πακέτο OSI επιπέδου 2 συλληφθεί μπορείτε να δείτε τις διευθύνσεις MAC στις στήλες πηγής και προορισμού, και ασφαλώς, τίποτα στη στήλη της πόρτας.
Εάν ένα πακέτο OSI επιπέδου 3 ή υψηλότερου συλληφθεί θα δείτε τις διευθύνσεις IP στις στήλες πηγής και προορισμού. Η στήλη της πόρτας εμφανίζεται μόνο όταν το πακέτο είναι επιπέδου 4 ή ανωτέρου.

Μπορείτε να προσθαφαιρέσετε στήλες ή να αλλάξετε κάποια από τα χρώματα του πίνακα ως ακολούθως:
Edit menu (Edit μενού) -> Preferences (Προτιμήσεις )


ΠΙΝΑΚΑΣ ΛΕΠΤΟΜΕΡΕΙΩΝ ΠΑΚΕΤΩΝ


Ο πίνακας των λεπτομερειών πακέτων δίνει εις βάθους πληροφορίες σχετικά με το επιλεγμένο πακέτο στον πίνακα με τη λίστα των πακέτων.
Οι πληροφορίες προβάλλονται ανά επίπεδο OSI και μπορούν να επεκταθούν ή να συμπτυχθούν. Στη φωτογραφία παρακάτω, οι πληροφορίες του πρωτοκόλλου HTTP εκτεταμένες.



ΠΙΝΑΚΑΣ ΑΝΑΤΟΜΙΑΣ


Ο πίνακας ανατομίας αποκαλείται επίσης και ως «πίνακας των bytes πακέτων» από το Wireshark, απεικονίζει τις ίδιες πληροφορίες όπως εκείνες που εμφανίζονται στον πίνακα των λεπτομερειών πακέτου αλλά σε δεκαεξαδική μορφή.
Στο παραπάνω παράδειγμα, επιλέξαμε τον αριθμό της θύρας TCP (80) στον πίνακα των λεπτομερειών του πακέτου και η αντίστοιχη δεκαεξαδική του μορφή εμφανίζεται αυτομάτως στον πίνακα ανατομίας (0050).


ΔΙΑΦΟΡΑ

Στο τέλος της πλατφόρμας, μπορείτε να βρείτε τις ακόλουθες πληροφορίες:

- την κάρτα δικτύου η οποία χρησιμοποιείται για τη σύλληψη.
- εάν η σύλληψη εκτελείται ή είναι σταματημένη.
- που αποθηκεύεται η σύλληψη στο σκληρό δίσκο.
- το μέγεθος της σύλληψης.
- τον αριθμό των πακέτων που συλλαμβάνονται. (P)
- τον αριθμό των απεικονιζόμενων πακέτων. (D) (Πακέτα τα οποία συμφωνούν με το φίλτρο προβολής) - τον αριθμό των επιλεγμένων πακέτων. (M)



ΦΙΛΤΡΑ

Ένα κοινό πρόβλημα κατά την εκκίνηση του Wireshark με τις προεπιλεγμένες ρυθμίσεις είναι ότι λαμβάνεται μεγάλη ποσότητα πληροφοριών στην οθόνη με αποτέλεσμα να μη μπορείτε να βρείτε την πληροφορία που αναζητάτε.
Η υπερπληροφορία επικαλύπτει την πληροφορία.

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

-

-
Φίλτρα σύλληψης: Χρησιμοποιούνται για την επιλογή των δεδομένων που θα καταγραφούν στα αρχεία καταγραφής. Καθορίζονται πριν την εκκίνηση της σύλληψης.
Φίλτρα απεικόνισης: Χρησιμοποιούνται για την αναζήτηση μέσα στα αρχεία καταγραφών. Μπορούν να τροποποιηθούν ενόσω τα δεδομένα συλλαμβάνονται.
Θα πρέπει να χρησιμοποιήσω τα φίλτρα σύλληψης ή απεικόνισης;

Οι στόχοι των δυο φίλτρων είναι διαφορετικοί.
Τα φίλτρα σύλληψης χρησιμοποιούνται ως μιας πρώτης μορφής φιλτράρισμα για τον περιορισμό του μεγέθους των συλληφθέντων δεδομένων με σκοπό την αποφυγή δημιουργίας μεγάλων αρχείων καταγραφής.
Τα φίλτρα απεικόνισης είναι περισσότερο δυνατά (και σύνθετα)∙ σας επιτρέπει να αναζητήσετε τα ακριβή δεδομένα που επιθυμείτε.

1. ΦΙΛΤΡΑ ΣΥΛΛΗΨΗΣ

Η σύνταξη του φίλτρου σύλληψης είναι η ίδια που χρησιμοποιείται και στα προγράμματα τη βιβλιοθήκη Lipcap (Linux) ή τη Winpcap (Windows) όπως το δημοφιλές TCPdump. Το φίλτρο σύλληψης θα πρέπει να οριστεί πριν την έναρξη της σύλληψης με Wirshark, περίπτωση η οποία δεν είναι η ίδια με τα φίλτρα απεικόνισης τα οποία μπορούν να τροποποιηθούν οποιαδήποτε στιγμή κατά τη διάρκεια της σύλληψης.

Τα βήματα για τη ρύθμιση ενός φίλτρου σύλληψης είναι τα επόμενα:
- επιλέγουμε capture (Σύλληψη) -> options (Επιλογές).
- Δίνουμε το όνομα που θέλουμε στο πεδίο "capture filter" ή πατάμε στο κουμπί "capture filter" για να δώσουμε ένα όνομα στο φίλτρο μας και να το χρησιμοποιήσουμε και για τις ακόλουθες συλλήψεις μας.
- Πατάμε στο Start για τη σύλληψη των δεδομένων.





Σύνταξη:
Πρωτόκολλο

Κατεύθυνση

Host(s)

Τιμή

Λογικές Πράξεις

Άλλες εκφράσεις
Παράδειγμα:
tcp

dst

10.1.1.1

80

and

tcp dst 10.2.2.2 3128
Πρωτόκολλο::
Τιμές: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
Εάν δεν δηλωθεί κανένα πρωτόκολλο, χρησιμοποιούνται όλα τα πρωτόκολλα.

Κατεύθυνση::
Τιμές: src, dst, src and dst, src or dst
Εάν δεν δηλωθεί ούτε πηγή ούτε προορισμός, οι λέξεις κλειδιά "src ή dst" εφαρμόζονται.
Για παράδειγμα, το "host 10.2.2.2" είναι ίσο με το "src ή dst host 10.2.2.2". Host(s):
Τιμές: net, port, host, portrange.
Εάν δεν δηλωθεί host(s), χρησιμοποιείται η λέξη κλειδί "host".
Για παράδειγμα, το "src 10.1.1.1" είναι ίσο με το "src host 10.1.1.1".

Λογικές Πράξεις:
Τιμές: not, and, or.
Η άρνηση ("not") έχει μεγαλύτερη προτεραιότητα. Η εναλλαγή ("or") και η αλληλουχία ("and") έχουν ίση προτεραιότητα και συνδέουν τα αρίστερα με τα δεξιά.
Για παράδειγμα,
το "not tcp port 3128 and tcp port 23" είναι ίσο με το "(not tcp port 3128) and tcp port 23".
το "not tcp port 3128 and tcp port 23" ΔΕΝ είναι ίσο με το "not (tcp port 3128 and tcp port 23)".



Παραδείγματα:

tcp dst port 3128
Δείχνει τα πακέτα με προορισμό την θύρα TCP 3128.

ip src host 10.1.1.1
Δείχνει τα πακέτα με τη διεύθυνση πηγής IP που ισούται με το 10.1.1.1.

host 10.1.2.3
Δείχνει τα πακέτα με πηγή ή προορισμό τη διεύθυνση IP η οποία είναι ίση με το 10.1.2.3.

src portrange 2000-2500
Δείχνει τα πακέτα με θύρες πηγής UDP ή TCP μεταξύ του εύρους 2000-2500.

not imcp
Δείχνει τα πάντα εκτός από τα πακέτα του icmp . (το icmp χρησιμοποιείται τυπικά από το εργαλείο ping)

src host 10.7.2.12 and not dst net 10.200.0.0/16
Δείχνει τα πακέτα με τη διεύθυνση IP πηγής η οποία ισούται με το 10.7.2.12 και την ίδια στιγμή όχι με τη διεύθυνση IP προορισμού του δικτύου 10.200.0.0/16.

(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8
Δείχνει τα πακέτα με τη διεύθυνση IP πηγής 10.4.1.12 ή το δίκτυο πηγής 10.6.0.0/16, το αποτέλεσμα είναι η αλυσιδωτή σύνδεση των πακέτων τα οποία έχουν προορισμό το εύρος θυρών TCP από 200 έως 10000 και διεύθυνση IP του δικτύου προορισμού 10.0.0.0/8.


Σημειώσεις:

Η αριστερή πλάγιος "\" χρησιμοποιείται όταν μια λέξη κλειδί χρησιμοποιείται ως τιμή.
το "ether proto \ip" (ισούται με το "ip").
Αυτό έχει ως στόχο όλα τα πρωτόκολλα IP.

το "ip proto \icmp" (ισούται με το "icmp").
Αυτό έχει ως στόχο τα icmp πακέτα τα οποία τυπικά χρησιμοποιούνται από το εργαλείο ping.

Οι λέξεις κλειδιά "multicast" και "broadcast" μπορούν επίσης να χρησιμοποιηθούν μετά τις λέξεις "ip" ή "ether".
Η λέξη κλειδί "no broadcast" είναι χρήσιμη όταν θέλετε να αποκλείσετε τις αιτήσεις μετάδοσης (broadcast requests).



Ελέγξτε τη σελίδα TCPdump man page για περισσότερες πληροφορίες σχετικά με τη σύνταξη των φίλτρων σύλληψης.
Άλλα παραδείγματα φίλτρων σύλληψης μπορούν να βρεθούν στην ιστοσελίδα Wiki Wireshark.


2. ΦΙΛΤΡΑ ΑΠΕΙΚΟΝΙΣΗΣ:

Τα φίλτρα απεικόνισης χρησιμοποιούνται για την αναζήτηση μέσα σε δεδομένα τα οποία έχουν συλληφθεί τα οποία έχουν ανακτηθεί με κάποιο φίλτρο σύλληψης.
Οι δυνατότητες αναζήτησης μπορούν να είναι μεγαλύτερες από εκείνες ενός φίλτρου σύλληψης και δεν είναι απαραίτητο να γίνει η επανεκκίνηση της σύλληψης όταν επιθυμήσετε την αλλαγή του φίλτρου σας.

Σύνταξη:
Πρωτόκολλο

Ακολουθία 1


Ακολουθία 2

Πράξη σύγκρισης

Τιμή

Λογικές Πράξεις

Άλλες εκφράσεις
Παράδειγμα:

ftp

passive

ip

==

10.2.3.4

xor

icmp.type

Πρωτόκολλο:

Ένας μεγάλος αριθμός πρωτοκόλλων, τα οποία βρίσκονται μεταξύ του 2ου και του 7ου του μοντέλου OSI, είναι διαθέσιμος. Μπορείτε να τα δείτε όταν πατήσετε πάνω στο κουμπί "Expression..." στο κυρίως παράθυρο.
Μερικά παραδείγματα είναι: IP,TCP,DNS,SSH






Τα υποστηριζόμενα πρωτόκολλα και μια μικρή περιγραφή μπορείτε να τα βρείτε όπως περιγράφεται παρακάτω:






Η ιστοσελίδα του Wireshark σας παρέχει εξηγήσεις σχετικά με τα πρωτόκολλα και τις υποκατηγορίες τους.

Ακολουθία1, Ακολουθία2 (Προαιρετικές Επιλογές):

Υπο-πρωτόκολλα σύμφωνα με τα αρχικά πρωτόκολλά τους.
Για να τα βρείτε, αναζητήστε το πρωτόκολλο και έπειτα πατήστε στο σημαδάκι "+".




Πράξεις σύγκρισης::

Έξι πράξεις σύγκρισης είναι διαθέσιμες:

Αγγλική μορφή:   Μορφή γλώσσας C:   Σημασία:
eq 
== 
Ίσο
ne
!=
Διάφορο
gt
>
Μεγαλύτερο από
lt
<
Μικρότερο από
ge
>=
Μεγαλύτερο ή ίσο
le
<=
Μικρότερο ή ίσο
Λογικές εκφράσεις:

Αγγλική μορφή:   Μορφή γλώσσας C:   Σημασία:
and
&&
Λογικό AND
or
||
Λογικό OR
xor
^^
Λογικό XOR
not
!
Λογικό NOT
Η λογική έκφραση "XOR", πολύ γνωστή από τους προγραμματιστές, χρησιμοποιείται ως αποκλειστική αλλαγή. Όταν χρησιμοποιείται μεταξύ δυο συνθηκών μέσα σ'ένα φίλτρο, το αποτέλεσμα θα εμφανιστεί στην οθόνη μόνο αν μια από τις δύο συνθήκες ισχύει, αλλά όχι όταν ισχύουν και οι δύο όπως γίνεται με τη λογική έκφραση "OR".
Ας πάρουμε ως παράδειγμα το παρακάτω φίλτρο απεικόνισης:
"tcp.dstport 80 xor tcp.dstport 1025"
Μόνο τα πακέτα με προορισμό TCP στη θύρα 80 ή πηγή TCP στη θύρα 1025 (αλλά όχι κατά 2 ταυτόχρονα!) θα εμφανιστούν στην οθόνη σαν αποτέλεσμα.



Παράδειγμα:

snmp || dns || icmpΕμφάνιση μεταφορών SNMP ή DNS ή ICMP.
ip.addr == 10.1.1.1
Εμφανίζει τα πακέτα με διεύθυνση IP πηγής ή προορισμού η οποία ισούται με 10.1.1.1.

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
Εμφανίζει τα πακέτα με διεύθυνση IP πηγής διαφορετική της 10.1.2.3 ή με διεύθυνση IP προορισμού διαφορετική της 10.4.5.6.
Με άλλα λόγια, τα εμφανιζόμενα πακέτα θα έχουν:
Διεύθυνση IP πηγής: οποιαδήποτε εκτός της 10.1.2.3, διεύθυνση IP προορισμού: οποιαδήποτε
και
Διεύθυνση IP πηγής: οποιαδήποτε, διεύθυνση IP προορισμού: οποιαδήποτε εκτός της 10.4.5.6

ip.src != 10.1.2.3 and ip.dst != 10.4.5.6
Εμφανίζει τα πακέτα με διεύθυνση IP πηγής διαφορετική από την 10.1.2.3 και την ίδια στιγμή με διεύθυνση IP προορισμού διαφορετική της 10.4.5.6
Με άλλα λόγια, τα εμφανιζόμενα πακέτα θα έχουν:
Διεύθυνση IP πηγής: οποιαδήποτε εκτός της 10.1.2.3 και διεύθυνση IP προορισμού: οποιαδήποτε εκτός της 10.3.4.5.6

tcp.port == 25Εμφανίζει τα πακέτα πηγής TCP ή προορισμό την θύρα 25.
tcp.dstport == 25Εμφανίζει τα πακέτα προορισμού TCP με θύρα προορισμού 25.
tcp.flagsΕμφανίζει τα πακέτα με σημαία TCP.
tcp.flags.syn == 0x02Εμφανίζει τα πακέτα με σημαία TCP SYN.
Εάν η σύνταξη του φίλτρου είναι σωστή, θα υπογραμμιστεί με πράσινο χρώμα, ειδάλλως εάν υπάρχει λάθος στην σύνταξή του θα υπογραμμιστεί με κόκκινο χρώμα.


Σωστή σύνταξη
Λάθος σύνταξη


Επιπρόσθετες πληροφορίες για τα φίλτρα απεικόνισης μπορείτε να βρείτε στην επίσημη σελίδα του Wireshark ή στην ιστοσελίδα wiki του Wireshark.



Πηγη : http://openmaniak.com