Σε αυτόν τον οδηγό, θα δείξουμε πώς να εγκαταστήσετε το tcpdump σε ένα σύστημα Linux και πώς να συλλάβετε και να αναλύσετε τα πακέτα TCP/IP χρησιμοποιώντας το tcpdump.
Πώς να εγκαταστήσετε το Tcpdump
Το Tcpdump είναι προεγκατεστημένο σε πολλές διανομές Linux. Αλλά αν δεν είναι ήδη εγκατεστημένο στο σύστημά σας, μπορείτε να εγκαταστήσετε το tcpdump στο σύστημά σας Linux. Για να εγκαταστήσετε το tcpdump στο σύστημα Ubuntu 22.04, χρησιμοποιήστε την ακόλουθη εντολή:
$ sudo apt εγκατάσταση tcpdump
Για να εγκαταστήσετε το tcpdump στο Fedora/CentOS, χρησιμοποιήστε την ακόλουθη εντολή:
$ sudo dnf εγκατάσταση tcpdump
Πώς να καταγράψετε τα πακέτα χρησιμοποιώντας την εντολή Tcpdump
Για να καταγράψετε τα πακέτα με το tcpdump, εκκινήστε το τερματικό με δικαιώματα sudo χρησιμοποιώντας «Ctrl+Alt+t». Αυτό το εργαλείο περιλαμβάνει διαφορετικές επιλογές και φίλτρα για την καταγραφή των πακέτων TCP/IP. Εάν θέλετε να καταγράψετε όλα τα ρέοντα πακέτα της τρέχουσας ή προεπιλεγμένης διεπαφής δικτύου, χρησιμοποιήστε την εντολή 'tcpdump' χωρίς καμία επιλογή.
$ sudo tcpdump
Η δοθείσα εντολή καταγράφει τα πακέτα της προεπιλεγμένης διεπαφής δικτύου του συστήματός σας.
Στο τέλος της εκτέλεσης αυτής της εντολής, όλες οι μετρήσεις πακέτων που έχουν καταγραφεί και φιλτραριστεί εμφανίζονται στο τερματικό.
Ας καταλάβουμε την έξοδο.
Το Tcpdump επιτρέπει την ανάλυση των κεφαλίδων των πακέτων TCP/IP. Εμφανίζει μια γραμμή για κάθε πακέτο και η εντολή συνεχίζει να εκτελείται μέχρι να πατήσετε 'Ctrl+C' για να το σταματήσετε.
Κάθε γραμμή που παρέχεται από το tcpdump περιέχει τις ακόλουθες λεπτομέρειες:
- Χρονική σήμανση Unix (π.χ. 02:28:57.839523)
- Πρωτόκολλο (IP)
- Όνομα κεντρικού υπολογιστή πηγής ή IP και αριθμός θύρας
- Όνομα κεντρικού υπολογιστή προορισμού ή IP και αριθμός θύρας
- Σημαίες TCP (π.χ. Σημαίες [F.]) που υποδεικνύουν την κατάσταση σύνδεσης με τιμές όπως S (SYN), F (FIN). (ACK), P (PUSH), R (RST)
- Αριθμός ακολουθίας των δεδομένων στο πακέτο (π.χ. ακολουθία 5829:6820)
- Αριθμός επιβεβαίωσης (π.χ. ack 1016)
- Μέγεθος παραθύρου (π.χ. win 65535) που αντιπροσωπεύει τα διαθέσιμα byte στο buffer λήψης ακολουθούμενα από επιλογές TCP
- Μήκος ωφέλιμου φορτίου δεδομένων (π.χ. μήκος 991)
Για να απαριθμήσετε όλες τις διεπαφές δικτύου λίστας του συστήματός σας, χρησιμοποιήστε την εντολή 'tcpdump' με την επιλογή '-D'.
$ sudo tcpdump -Dή
$ tcpdump --list-interfacesΑυτή η εντολή παραθέτει όλες τις διεπαφές δικτύου που είναι συνδεδεμένες ή εκτελούνται στο σύστημά σας Linux.
Καταγράψτε τα πακέτα της καθορισμένης διεπαφής δικτύου
Εάν θέλετε να καταγράψετε τα πακέτα TCP/IP που περνούν από μια συγκεκριμένη διεπαφή, χρησιμοποιήστε τη σημαία '-i' με την εντολή 'tcpdump' και καθορίστε το όνομα της διεπαφής δικτύου.
$ sudo tcpdump -i lo
Η δεδομένη εντολή καταγράφει την κίνηση στη διεπαφή 'lo'. Εάν θέλετε να εμφανίσετε αναλυτικές ή λεπτομερείς πληροφορίες σχετικά με το πακέτο, χρησιμοποιήστε τη σημαία '-v'. Για να εκτυπώσετε πιο ολοκληρωμένες λεπτομέρειες, χρησιμοποιήστε τη σημαία '-vv' με την εντολή 'tcpdump'. Η τακτική χρήση και ανάλυση συμβάλλουν στη διατήρηση ενός ισχυρού και ασφαλούς περιβάλλοντος δικτύου.
Ομοίως, μπορείτε να καταγράψετε την κίνηση σε οποιαδήποτε διεπαφή χρησιμοποιώντας την ακόλουθη εντολή:
$ sudo tcpdump -i οποιαδήποτε
Καταγράψτε τα πακέτα χρησιμοποιώντας μια συγκεκριμένη θύρα
Μπορείτε να καταγράψετε και να φιλτράρετε τα πακέτα καθορίζοντας το όνομα της διεπαφής και τον αριθμό θύρας. Για παράδειγμα, για να καταγράψετε τα πακέτα δικτύου που διέρχονται από τη διεπαφή 'enp0s3' χρησιμοποιώντας τη θύρα 22, χρησιμοποιήστε την ακόλουθη εντολή:
$ tcpdump -i enp0s3 θύρα 22Η προηγούμενη εντολή καταγράφει όλα τα πακέτα που ρέουν από τη διεπαφή 'enp0s3'.
Καταγράψτε τα περιορισμένα πακέτα με το Tcpdump
Μπορείτε να χρησιμοποιήσετε τη σημαία '-c' με την εντολή 'tcpdump' για να καταγράψετε έναν καθορισμένο αριθμό πακέτων. Για παράδειγμα, για να καταγράψετε τέσσερα πακέτα στη διεπαφή 'enp0s3', χρησιμοποιήστε την ακόλουθη εντολή:
$ tcpdump -i enp0s3 -c 4
Αντικαταστήστε το όνομα της διεπαφής χρησιμοποιώντας το σύστημά σας.
Χρήσιμες εντολές Tcpdump για την καταγραφή της κίνησης δικτύου
Στη συνέχεια, παραθέσαμε μερικές χρήσιμες εντολές «tcpdump» που θα σας βοηθήσουν να καταγράψετε και να φιλτράρετε αποτελεσματικά την κίνηση ή τα πακέτα δικτύου:
Χρησιμοποιώντας την εντολή 'tcpdump', μπορείτε να καταγράψετε τα πακέτα μιας διεπαφής με καθορισμένη IP προορισμού ή IP προέλευσης.
$ tcpdump -i {interface-name} dst {destination-ip}Μπορείτε να καταγράψετε τα πακέτα με μέγεθος στιγμιότυπου 65535 byte, το οποίο είναι διαφορετικό από το προεπιλεγμένο μέγεθος των 262144 byte. Στις παλαιότερες εκδόσεις του tcpdump, το μέγεθος λήψης περιοριζόταν στα 68 ή 96 byte.
$ tcpdump -i enp0s3 -s 65535
Πώς να αποθηκεύσετε τα συλλεγμένα πακέτα σε ένα αρχείο
Εάν θέλετε να αποθηκεύσετε τα δεδομένα που καταγράφηκαν σε ένα αρχείο για περαιτέρω ανάλυση, μπορείτε να το κάνετε. Καταγράφει την κίνηση σε μια καθορισμένη διεπαφή και στη συνέχεια την αποθηκεύει σε ένα αρχείο '.pcap'. Χρησιμοποιήστε την ακόλουθη εντολή για να αποθηκεύσετε τα δεδομένα που καταγράφηκαν σε ένα αρχείο:
$ tcpdump -iΓια παράδειγμα, έχουμε τη διεπαφή 'enps03'. Αποθηκεύστε αυτά τα δεδομένα που καταγράφηκαν στο ακόλουθο αρχείο:
$ sudo tcpdump -i enps03 -w dump.pcapΣτο μέλλον, μπορείτε να διαβάσετε αυτό το αρχείο που καταγράψατε χρησιμοποιώντας το Wireshark ή άλλα εργαλεία ανάλυσης δικτύου. Έτσι, εάν θέλετε να χρησιμοποιήσετε το Wireshark για να αναλύσετε τα πακέτα, χρησιμοποιήστε το όρισμα '-w' και αποθηκεύστε το σε ένα αρχείο '.pcap'.
συμπέρασμα
Σε αυτό το σεμινάριο, δείξαμε πώς να συλλαμβάνουμε και να αναλύουμε τα πακέτα χρησιμοποιώντας το tcpdump με τη βοήθεια διαφορετικών παραδειγμάτων. Μάθαμε επίσης πώς να αποθηκεύουμε την επισκεψιμότητα σε ένα αρχείο '.pcap', το οποίο μπορείτε να προβάλετε και να αναλύσετε χρησιμοποιώντας το Wireshark και άλλα εργαλεία ανάλυσης δικτύου.