Wireshark: τι είναι, ανάλυση κίνησης και υποκλοπή πακέτων

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-05-08 Χρόνος ανάγνωσης: 9 λεπ

Wireshark — ο κορυφαίος αναλυτής κίνησης δικτύου με ανοικτό κώδικα, που χρησιμοποιείται για την υποκλοπή και την επιθεώρηση πακέτων σε πραγματικό χρόνο. Το εργαλείο υποστηρίζει περισσότερα από δύο χιλιάδες πρωτόκολλα δικτύου και λειτουργεί σε όλες τις κύριες πλατφόρμες. Σύμφωνα με τον Wireshark User Guide (2026), το εργαλείο χρησιμοποιείται για διάγνωση δικτύων, αποσφαλμάτωση API και ανάλυση ασφαλείας στην ανάπτυξη εφαρμογών για κινητά και ιστού.

Βασικά σημεία

  • Wireshark — δωρεάν sniffer πακέτων με γραφική διεπαφή για την ανάλυση της κίνησης δικτύου.
  • Η καταγραφή κίνησης γίνεται μέσω της διεπαφής δικτύου σε promiscuous λειτουργία σε επίπεδο ζεύξης δεδομένων.
  • Φιλτράρισμα πακέτων κατά IP, θύρα, πρωτόκολλο και περιεχόμενο υλοποιείται μέσω της γλώσσας BPF και των display filters.
  • Ανάλυση HTTPS απαιτεί τη ρύθμιση του SSLKEYLOGFILE ή ενός ενδιάμεσου διακομιστή μεσολάβησης για την αποκρυπτογράφηση συνεδριών.
  • Αποσφαλμάτωση κινητών είναι δυνατή μέσω συνδυασμού με το tcpdump στη συσκευή και το Remote Packet Capture.

Τι είναι το Wireshark και πώς λειτουργεί

Wireshark — πρόγραμμα με ανοικτό κώδικα (GPLv2) που υποκλέπτει πακέτα δεδομένων που διέρχονται από τη διεπαφή δικτύου του υπολογιστή. Βασίζεται στη βιβλιοθήκη libpcap (Unix) ή Npcap (Windows) για την καταγραφή σε επίπεδο ζεύξης δεδομένων του μοντέλου OSI.

Η αρχή της καταγραφής πακέτων

Η κάρτα δικτύου σε κανονική λειτουργία λαμβάνει μόνο πλαίσια που απευθύνονται στη δική της διεύθυνση MAC. Το Wireshark μεταφέρει τη διεπαφή σε promiscuous λειτουργία, στην οποία το σύστημα επεξεργάζεται όλα τα διερχόμενα πλαίσια ανεξάρτητα από τον παραλήπτη. Τα καταγεγραμμένα δεδομένα μεταδίδονται στον πυρήνα μέσω raw socket, μετά από το οποίο η βιβλιοθήκη libpcap τα αντιγράφει στον χώρο χρήστη για ανάλυση.

Αρχιτεκτονική επεξεργασίας

Το Wireshark χρησιμοποιεί αρθρωτή αρχιτεκτονική: κάθε πρωτόκολλο υλοποιείται ως ξεχωριστός αποδομητής (dissector) — ένα πρόσθετο που αναλύει τα δυαδικά δεδομένα και τα εμφανίζει σε δομημένη μορφή. Το 2026 στο πρόγραμμα έχουν υλοποιηθεί αποδομητές για 2 874 πρωτόκολλα, συμπεριλαμβανομένων των HTTP/2, QUIC, gRPC και MQTT. Οι αποδομητές λειτουργούν μέσω του συστήματος δέντρου πρωτοκόλλων — κάθε πακέτο αναλύεται στρώμα-στρώμα: από το πλαίσιο Ethernet έως το επίπεδο εφαρμογής.

c
// Παράδειγμα ενός απλού αποδομητή για προσαρμοσμένο πρωτόκολλο
static int dissect_custom(tvbuff_t *tvb, packet_info *pinfo,
        proto_tree *tree, void *data) {
    proto_item *ti = proto_tree_add_item(tree, hf_custom_field,
            tvb, 0, tvb_captured_length(tvb), ENC_NA);
    return 0;
}

Κύριες δυνατότητες του Wireshark

Γραφική διεπαφή Το Wireshark χωρίζεται σε τρία πάνελ: λίστα πακέτων (packet list), λεπτομέρειες πρωτοκόλλων (packet details) και hex dump (packet bytes). Κάθε πάνελ ενημερώνεται σε πραγματικό χρόνο και υποστηρίζει διαδραστική πλοήγηση — ένα κλικ στη γραμμή ενός πακέτου ανοίγει την πλήρη δομή του.

Υποστηριζόμενες μορφές και πρωτόκολλα

Το εργαλείο διαβάζει αρχεία καταγραφής σε μορφές pcap, pcapng, snoop και NetMon. Η εξαγωγή είναι δυνατή σε JSON, XML, CSV και plain text. Μεταξύ των βασικών πρωτοκόλλων επιπέδου εφαρμογής είναι: HTTP/HTTPS, DNS, DHCP, TCP, UDP, TLS, QUIC, WebSocket, MQTT, AMQP και Protobuf. Για την ανάπτυξη εφαρμογών για κινητά ιδιαίτερα σημαντική είναι η υποστήριξη των gRPC και HTTP/2 με πολυπλεξία ροών.

Εργαλεία ανάλυσης

Τα ενσωματωμένα βοηθητικά προγράμματα περιλαμβάνουν Follow Stream (αποκατάσταση πλήρους διαλόγου TCP/UDP/TLS), IO Graph (γράφημα εύρους ζώνης), στατιστικά συνομιλιών (Conversations) και ιεραρχία πρωτοκόλλων (Protocol Hierarchy). Η λειτουργία Flow Graph οπτικοποιεί τη σειρά των πακέτων μεταξύ κόμβων, γεγονός που διευκολύνει την εύρεση των αιτιών καθυστερήσεων κατά την αποσφαλμάτωση της αλληλεπίδρασης πελάτη-διακομιστή.

Πώς να υποκλέψετε κίνηση μέσω του Wireshark

Η έναρξη της καταγραφής ξεκινά με την επιλογή της διεπαφής δικτύου — Ethernet, Wi-Fi, Bluetooth PAN ή Loopback. Στα Windows μπορεί να χρειαστεί η εγκατάσταση του Npcap σε λειτουργία WinPcap API Compatible Mode. Για την καταγραφή σε κινητές συσκευές χρησιμοποιείται το Remote Packet Capture μέσω σήραγγας SSH.

Καταγραφή σε απομακρυσμένη συσκευή

Σε μια συσκευή Android η κίνηση υποκλέπτεται μέσω tcpdump ή PCAPdroid, με επακόλουθη μεταφορά του αρχείου στον υπολογιστή εργασίας. Η εντολή για απομακρυσμένη καταγραφή μέσω ADB:

bash
# Καταγραφή κίνησης σε Android μέσω ADB shell
adb shell tcpdump -i wlan0 -s 0 -w /sdcard/capture.pcap
# Αντιγραφή στον υπολογιστή
adb pull /sdcard/capture.pcap .

Καταγραφή κίνησης Loopback

Στα Windows η κίνηση localhost (127.0.0.1) δεν διέρχεται από τη φυσική διεπαφή, επομένως το Wireshark δεν την βλέπει άμεσα. Η λύση — εγκατάσταση Npcap με την επιλογή Loopback Support ή ανακατεύθυνση της κίνησης μέσω RawCap. Σε Linux και macOS η διεπαφή loopback (lo) καταγράφεται χωρίς πρόσθετες ρυθμίσεις.

Φιλτράρισμα πακέτων στο Wireshark

Wireshark προσφέρει δύο τύπους φίλτρων: capture filters (εφαρμόζονται πριν από την καταγραφή, σε επίπεδο libpcap) και display filters (εφαρμόζονται σε ήδη καταγεγραμμένα δεδομένα). Τα capture filters χρησιμοποιούν σύνταξη BPF (Berkeley Packet Filter), ενώ τα display filters — τη δική τους γλώσσα του Wireshark με αυτόματη συμπλήρωση.

Capture Filters (BPF)

Τα φίλτρα BPF γράφονται σε μορφή tcpdump και εκτελούνται στον πυρήνα, γεγονός που ελαχιστοποιεί την απώλεια πακέτων υπό υψηλή φόρτιση. Παραδείγματα φίλτρων:

Φίλτρο Σκοπός
tcp port 80 Μόνο κίνηση HTTP στην τυπική θύρα
host 192.168.1.1 Πακέτα από συγκεκριμένο host
not arp Όλα τα πακέτα εκτός από αιτήματα ARP

Display Filters

Τα display filters εφαρμόζονται εκ των υστέρων και υποστηρίζουν σύνθετες συνθήκες με λογικούς τελεστές and, or, not. Παράδειγμα: http.request.method == "POST" and ip.src == 192.168.0.100 θα φιλτράρει μόνο τα αιτήματα POST από συγκεκριμένη IP. Τα φίλτρα μπορούν να αποθηκεύονται ως αγαπημένα για επαναχρησιμοποίηση.

Ανάλυση κίνησης HTTP και HTTPS

Η κίνηση HTTP εμφανίζεται στο Wireshark σε αναγνώσιμη μορφή: μέθοδος αιτήματος, URI, κεφαλίδες και σώμα απόκρισης. Η λειτουργία Follow TCP Stream συγκεντρώνει τον πλήρη διάλογο πελάτη και διακομιστή σε ένα παράθυρο. Για το HTTPS απαιτείται αποκρυπτογράφηση των συνεδριών TLS, καθώς το περιεχόμενο είναι κρυπτογραφημένο.

Αποκρυπτογράφηση HTTPS μέσω SSLKEYLOGFILE

Τα προγράμματα περιήγησης Chrome και Firefox υποστηρίζουν τη μεταβλητή περιβάλλοντος SSLKEYLOGFILE, η οποία καταγράφει τα κλειδιά συνεδρίας TLS σε αρχείο κειμένου. Το Wireshark χρησιμοποιεί αυτό το αρχείο για την αποκρυπτογράφηση των εγγραφών. Η ρύθμιση γίνεται μέσω των Preferences → Protocols → TLS → (Pre)-Master-Secret log filename.

bash
# Εκκίνηση του Chrome με καταγραφή κλειδιών TLS
export SSLKEYLOGFILE=/tmp/sslkeys.log
google-chrome .

# Μετά την καταγραφή να ορίσετε τη διαδρομή στο Wireshark
# Edit → Preferences → Protocols → TLS → Log Filename

Ανάλυση gRPC και Protobuf

gRPC χρησιμοποιεί το HTTP/2 ως μεταφορά και το Protobuf για σειριοποίηση δεδομένων. Το Wireshark αποκρυπτογραφεί τα μηνύματα gRPC, εάν παρέχεται αρχείο .proto με τον ορισμό των δομών. Ο αποδομητής Protobuf αντιστοιχίζει τα δυαδικά πεδία με τα ονόματα από το αρχείο proto, γεγονός που είναι κρίσιμο κατά την αποσφαλμάτωση αρχιτεκτονικής μικροϋπηρεσιών.

Αποσφαλμάτωση εφαρμογών για κινητά με το Wireshark

Η αποσφαλμάτωση κινητών μέσω του Wireshark απαιτεί την προώθηση (proxy) της κίνησης της συσκευής στον υπολογιστή. Η πιο αξιόπιστη μέθοδος — η δημιουργία σημείου πρόσβασης Wi-Fi στον φορητό υπολογιστή και η ανακατεύθυνση της κίνησης μέσω NAT. Στο Android είναι επίσης διαθέσιμη η μέθοδος VPN με την εφαρμογή PCAPdroid χωρίς δικαιώματα root.

Ρύθμιση σε Android χωρίς root

PCAPdroid δημιουργεί μια τοπική υπηρεσία VPN που ανακατευθύνει την κίνηση των εφαρμογών στο Wireshark μέσω ροής UDP. Η εφαρμογή δεν απαιτεί πρόσβαση root και υποστηρίζει φιλτράρισμα ανά μεμονωμένες διεργασίες. Τα αρχεία pcap που λαμβάνονται ανοίγονται στο Wireshark για πλήρη ανάλυση.

bash
# Λήψη κίνησης από το PCAPdroid στον υπολογιστή
# PCAPdroid → Settings → PCAP dumper → UDP Exporter
nc -l -u 192.168.0.10 12345 > capture.pcap

Σύγκριση του Wireshark με εναλλακτικές

Wireshark — ένα καθολικό εργαλείο, αλλά για συγκεκριμένες εργασίες υπάρχουν πιο εξειδικευμένες λύσεις. Το tcpdump είναι πιο αποτελεσματικό για καταγραφή διακομιστή χωρίς γραφικά, το Charles Proxy είναι πιο βολικό για ανάλυση κίνησης HTTPS, και το Fiddler — για επιθεώρηση κίνησης ιστού με δυνατότητα τροποποίησης αιτημάτων εν κινήσει.

Charles Proxy vs Wireshark

Charles Proxy λειτουργεί ως ενδιάμεσος διακομιστής μεσολάβησης με δυνατότητα υποκλοπής HTTPS μέσω δικής του πιστοποίησης SSL. Σε αντίθεση με το Wireshark, το Charles δεν απαιτεί ρύθμιση του SSLKEYLOGFILE και μπορεί όχι μόνο να βλέπει, αλλά και να τροποποιεί την κίνηση — να αντικαθιστά αποκρίσεις, να προσομοιώνει καθυστερήσεις και να επαναλαμβάνει αιτήματα.

Fiddler Everywhere

Fiddler — ένα ακόμη εργαλείο μεσολάβησης, δημοφιλές στο οικοσύστημα .NET. Παρέχει ενσωματωμένο επεξεργαστή αιτημάτων, υποστήριξη AutoResponder για mock και composer για τη δημιουργία προσαρμοσμένων αιτημάτων. Το Fiddler ταιριάζει καλύτερα για ανάλυση κίνησης ιστού του προγράμματος περιήγησης, ενώ το Wireshark — για ανάλυση δικτύου χαμηλού επιπέδου.

Εργαλείο Τύπος HTTPS χωρίς κλειδιά Τροποποίηση κίνησης
Wireshark Sniffer Όχι (απαιτείται SSLKEYLOGFILE) Μόνο προβολή
Charles Proxy Ναι (προσαρμοσμένο πιστοποιητικό) Ναι
Fiddler Proxy Ναι (προσαρμοσμένο πιστοποιητικό) Ναι
tcpdump Sniffer Όχι Μόνο προβολή

Πρακτικές συμβουλές για εργασία με το Wireshark

Wireshark απαιτεί κατανόηση των βασικών αρχών καταγραφής κίνησης. Ένα από τα συνηθισμένα σενάρια — η εύρεση της πηγής καθυστερήσεων σε μια εφαρμογή για κινητά μέσω του φίλτρου tcp.analysis.ack_rtt. Για την εύρεση αργών αιτημάτων HTTP χρησιμοποιήστε τη συνθήκη http.time μεγαλύτερο από 1.

Εύρεση αργών αιτημάτων

Για την εύρεση αργών αιτημάτων HTTP φιλτράρετε http.time μεγαλύτερο από 1 — το Wireshark θα εμφανίσει αιτήματα με χρόνο απόκρισης άνω του 1 δευτερολέπτου. Συνδυάστε με το ip.addr για ανάλυση συγκεκριμένου διακομιστή. Το IO Graph με διάστημα 1 δευτερολέπτου θα δείξει καθαρά τις αιχμές φόρτισης.

Εξαγωγή και αναφορά

Το Wireshark υποστηρίζει εξαγωγή σε CSV, JSON και XML μέσω του μενού File. Για αυτόματη ανάλυση χρησιμοποιήστε το tshark — την έκδοση κονσόλας που λειτουργεί σε σωληνώσεις CI/CD. Το Tshark υποστηρίζει τα ίδια φίλτρα και μορφές εξόδου με τη γραφική έκδοση.

Πρακτικές συμβουλές για εργασία με το Wireshark

Wireshark απαιτεί κατανόηση των βασικών αρχών καταγραφής κίνησης. Ένα από τα συνηθισμένα σενάρια — η εύρεση της πηγής καθυστερήσεων σε μια εφαρμογή για κινητά μέσω του φίλτρου tcp.analysis.ack_rtt. Για την εύρεση αργών αιτημάτων HTTP χρησιμοποιήστε τη συνθήκη http.time μεγαλύτερο από 1.

Εύρεση αργών αιτημάτων

Για την εύρεση αργών αιτημάτων HTTP φιλτράρετε http.time μεγαλύτερο από 1 — το Wireshark θα εμφανίσει αιτήματα με χρόνο απόκρισης άνω του 1 δευτερολέπτου. Συνδυάστε με το ip.addr για ανάλυση συγκεκριμένου διακομιστή. Το IO Graph με διάστημα 1 δευτερολέπτου θα δείξει καθαρά τις αιχμές φόρτισης.

Εξαγωγή και αναφορά

Το Wireshark υποστηρίζει εξαγωγή σε CSV, JSON και XML μέσω του μενού File. Για αυτόματη ανάλυση χρησιμοποιήστε το tshark — την έκδοση κονσόλας που λειτουργεί σε σωληνώσεις CI/CD. Το Tshark υποστηρίζει τα ίδια φίλτρα και μορφές εξόδου με τη γραφική έκδοση.

Συχνές ερωτήσεις

Σε τι διαφέρει το Wireshark από το tcpdump;

Wireshark παρέχει γραφική διεπαφή με οπτικοποίηση πακέτων, ενσωματωμένα φίλτρα και στατιστικά. Το tcpdump — βοηθητικό πρόγραμμα κονσόλας χωρίς GUI, βολικό για καταγραφή διακομιστή μέσω SSH. Το Wireshark μπορεί να διαβάσει αρχεία tcpdump και αντίστροφα.

Πώς να υποκλέψω κίνηση HTTPS στο Wireshark;

Για την αποκρυπτογράφηση απαιτείται το αρχείο κλειδιών συνεδρίας TLS (SSLKEYLOGFILE). Τα Chrome και Firefox εξάγουν τα κλειδιά κατά την εκκίνηση με μεταβλητή περιβάλλοντος. Η διαδρομή προς το αρχείο καθορίζεται στις ρυθμίσεις Protocols → TLS στο Wireshark.

Γιατί το Wireshark δεν βλέπει την κίνηση localhost στα Windows;

Η κίνηση loopback στα Windows δεν διέρχεται από το πρόγραμμα οδήγησης Npcap από προεπιλογή. Η λύση — εγκατάσταση Npcap με ενεργοποιημένη την επιλογή Loopback Support ή χρήση του εργαλείου RawCap για καταγραφή τοπικής κίνησης.

Μπορεί να χρησιμοποιηθεί το Wireshark για εφαρμογές για κινητά;

Ναι, μέσω προώθησης (proxy) της κίνησης στον υπολογιστή. Το Android υποστηρίζει καταγραφή μέσω PCAPdroid (χωρίς root) ή tcpdump (με root). Το iOS απαιτεί RVI (Remote Virtual Interface) μέσω macOS ή jailbreak για την καταγραφή.

Πώς να φιλτράρω τα πακέτα κατά περιεχόμενο στο Wireshark;

Το display filter frame contains αναζητά μια συμβολοσειρά ή ακολουθία hex σε ολόκληρο το πακέτο. Παράδειγμα: frame contains "password" θα βρει πακέτα με την υποσυμβολοσειρά password σε οποιοδήποτε πεδίο. Για ακριβή αναζήτηση κατά πεδίο χρησιμοποιήστε το http.request.uri contains "api" .

Συμπεράσματα

  • Wireshark — το κύριο εργαλείο για ανάλυση κίνησης δικτύου στην ανάπτυξη, με υποστήριξη περισσότερων από 2800 πρωτοκόλλων.
  • Η καταγραφή πακέτων γίνεται σε promiscuous λειτουργία μέσω της βιβλιοθήκης libpcap ή Npcap σε επίπεδο πρόσβασης ζεύξης δεδομένων.
  • Το φιλτράρισμα διαιρείται σε capture filters (BPF, σε επίπεδο πυρήνα) και display filters (γλώσσα Wireshark, με αυτόματη συμπλήρωση).
  • Η αποκρυπτογράφηση HTTPS είναι διαθέσιμη μέσω SSLKEYLOGFILE για τα προγράμματα περιήγησης Chrome και Firefox.
  • Η αποσφαλμάτωση κινητών υλοποιείται μέσω PCAPdroid (Android) ή Remote Virtual Interface (iOS) χωρίς την ανάγκη root.
  • Τα gRPC και Protobuf υποστηρίζονται μέσω φόρτωσης αρχείων .proto για αποσειριοποίηση δυαδικών δεδομένων.
  • Τα Flow Graph και IO Graph βοηθούν στην οπτικοποίηση καθυστερήσεων και την εύρεση σημείων συμφόρησης στην αλληλεπίδραση πελάτη-διακομιστή.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης