Προσπαθείτε να καταγράψετε πακέτα δεδομένων προκειμένου να αναλύσετε την κυκλοφορία στο δίκτυό σας; Ίσως είστε διαχειριστής διακομιστή που αντιμετώπισε κάποιο πρόβλημα και θέλετε να παρακολουθείτε τα μεταδιδόμενα δεδομένα στο δίκτυο. Όποια και αν είναι η κατάσταση, το βοηθητικό πρόγραμμα tcpdump Linux είναι αυτό που χρειάζεστε.
Σε αυτό το άρθρο, θα συζητήσουμε λεπτομερώς την εντολή tcpdump, μαζί με μερικούς οδηγούς σχετικά με τον τρόπο εγκατάστασης και χρήσης του tcpdump στο σύστημα Linux.
Τι είναι η εντολή tcpdump;
Tcpdump είναι ένα ισχυρό εργαλείο παρακολούθησης δικτύου που επιτρέπει στον χρήστη να φιλτράρει πακέτα και την κυκλοφορία σε ένα δίκτυο αποτελεσματικά. Μπορείτε να λάβετε λεπτομερείς πληροφορίες σχετικά με το TCP / IP και τα πακέτα που μεταδίδονται στο δίκτυό σας. Το Tcpdump είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών, που σημαίνει ότι μπορείτε να το εκτελέσετε σε διακομιστές Linux χωρίς οθόνη.
Οι διαχειριστές συστήματος μπορούν επίσης να ενσωματώσουν το βοηθητικό πρόγραμμα tcpdump με
κορό προκειμένου να αυτοματοποιηθούν διάφορες εργασίες όπως η καταγραφή. Δεδομένου ότι τα πολλά χαρακτηριστικά του το καθιστούν αρκετά ευέλικτο, το tcpdump λειτουργεί ως εργαλείο αντιμετώπισης προβλημάτων και ως εργαλείο ασφάλειας.Πώς να εγκαταστήσετε το tcpdump σε Linux
Ενώ τις περισσότερες φορές θα βρείτε προεγκατεστημένο το tcpdump στο σύστημά σας, ορισμένες διανομές Linux δεν αποστέλλονται με το πακέτο. Επομένως, ίσως χρειαστεί να εγκαταστήσετε με μη αυτόματο τρόπο το βοηθητικό πρόγραμμα στο σύστημά σας.
Μπορείτε να ελέγξετε εάν το tcpdump είναι εγκατεστημένο στο σύστημά σας χρησιμοποιώντας το οι οποίες εντολή.
που tcpdump
Εάν η έξοδος εμφανίζει μια διαδρομή καταλόγου (/usr/bin/tcpdump), τότε το σύστημά σας έχει εγκαταστήσει το πακέτο. Ωστόσο, αν όχι, μπορείτε να το κάνετε εύκολα χρησιμοποιώντας τον προεπιλεγμένο διαχειριστή πακέτων στο σύστημά σας.
Για να εγκαταστήσετε το tcpdump σε διανομές που βασίζονται στο Debian όπως το Ubuntu:
sudo apt-get εγκατάσταση tcpdump
Η εγκατάσταση του tcpdump στο CentOS είναι επίσης εύκολη.
sudo yum εγκατάσταση tcpdump
Σε διανομές βάσει Arch:
sudo pacman -S tcpdump
Για εγκατάσταση στο Fedora:
sudo dnf εγκατάσταση tcpdump
Σημειώστε ότι το πακέτο tcpdump απαιτεί libcap ως εξάρτηση, οπότε φροντίστε να το εγκαταστήσετε και στο σύστημά σας.
Tcpdump Παραδείγματα λήψης πακέτων δικτύου σε Linux
Τώρα που έχετε εγκαταστήσει με επιτυχία το tcpdump στον υπολογιστή σας Linux, είναι καιρός να παρακολουθήσετε ορισμένα πακέτα. Επειδή το tcpdump απαιτεί δικαιώματα superuser για την εκτέλεση των περισσότερων λειτουργιών, θα πρέπει να προσθέσετε sudo στις εντολές σας.
1. Λίστα όλων των διασυνδέσεων δικτύου
Για να ελέγξετε ποιες διασυνδέσεις δικτύου είναι διαθέσιμες για λήψη, χρησιμοποιήστε το -ΡΕ σημαία με την εντολή tcpdump.
tcpdump -D
Περνώντας το - λίστα-διεπαφές επισήμανση ως όρισμα θα επιστρέψει την ίδια έξοδο.
tcpdump --list-interfaces
Η έξοδος θα είναι μια λίστα με όλες τις διεπαφές δικτύου που υπάρχουν στο σύστημά σας.
Αφού λάβετε τη λίστα των διεπαφών δικτύου, είναι καιρός να παρακολουθήσετε το δίκτυό σας καταγράφοντας πακέτα στο σύστημά σας. Αν και μπορείτε να καθορίσετε ποια διεπαφή θέλετε να χρησιμοποιήσετε, το όποιος Το όρισμα εντολές tcpdump για τη λήψη πακέτων δικτύου χρησιμοποιώντας οποιαδήποτε ενεργή διεπαφή.
tcpdump - διεπαφή οποιουδήποτε
Το σύστημα θα εμφανίσει την ακόλουθη έξοδο.
Σχετιζομαι με: Τι είναι το μοντέλο διασύνδεσης ανοιχτών συστημάτων;
2. Η μορφή εξόδου tcpdump
Ξεκινώντας από την τρίτη γραμμή, κάθε γραμμή της εξόδου δηλώνει ένα συγκεκριμένο πακέτο που συλλαμβάνεται από το tcpdump. Δείτε πώς φαίνεται η έξοδος ενός πακέτου.
17: 00: 25.369138 wlp0s20f3 Out IP τοπικό σύστημα.40310> kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196: 568, ack 1, win 309, options [nop, nop, TS val 117964079 ecr 816509256], μήκος 33
Λάβετε υπόψη ότι δεν καταγράφονται όλα τα πακέτα με αυτόν τον τρόπο, αλλά αυτή είναι η γενική μορφή που ακολουθείται από τα περισσότερα από αυτά.
Η έξοδος περιέχει τις ακόλουθες πληροφορίες.
- Χρονική σήμανση του ληφθέντος πακέτου
- Όνομα διεπαφής
- Ροή πακέτων
- Όνομα του πρωτοκόλλου δικτύου
- Διεύθυνση IP και λεπτομέρειες θύρας
- Σημαίες TCP
- Ο αριθμός ακολουθίας δεδομένων στο πακέτο
- Δεδομένα Ack
- Μέγεθος παραθύρου
- Μήκος πακέτου
Το πρώτο πεδίο (17:00:25.369138) εμφανίζει τη χρονική σήμανση όταν το σύστημά σας έστειλε ή έλαβε το πακέτο. Ο καταγεγραμμένος χρόνος εξάγεται από την τοπική ώρα του συστήματός σας.
Το δεύτερο και το τρίτο πεδίο δηλώνουν τη διεπαφή που χρησιμοποιείται και τη ροή του πακέτου. Στο απόσπασμα παραπάνω, wlp0s20f3 είναι το όνομα της ασύρματης διεπαφής και Εξω είναι η ροή πακέτων.
Το τέταρτο πεδίο περιλαμβάνει πληροφορίες που σχετίζονται με το όνομα του πρωτοκόλλου δικτύου. Γενικά, θα βρείτε δύο πρωτόκολλα- IP και IP6, όπου IP δηλώνει IPV4 και IP6 είναι για IPV6.
Το επόμενο πεδίο περιέχει τις διευθύνσεις IP ή το όνομα της πηγής και του συστήματος προορισμού. Οι διευθύνσεις IP ακολουθούνται από τον αριθμό θύρας.
Το έκτο πεδίο στην έξοδο αποτελείται από σημαίες TCP. Υπάρχουν διάφορες σημαίες που χρησιμοποιούνται στην έξοδο tcpdump.
Όνομα σημαίας | αξία | Περιγραφή |
---|---|---|
ΣΥΝ | μικρό | Η σύνδεση ξεκίνησε |
ΠΤΕΡΥΓΙΟ | φά | Η σύνδεση ολοκληρώθηκε |
ΣΠΡΩΞΤΕ | Π | Τα δεδομένα προωθούνται |
RST | Ρ | Η σύνδεση επαναφέρεται |
ΑΓΚ | . | Αναγνώριση |
Η έξοδος μπορεί επίσης να περιέχει έναν συνδυασμό πολλών σημαιών TCP. Για παράδειγμα, ΣΗΜΑΙΑ [f] σημαίνει πακέτο FIN-ACK.
Προχωρώντας περαιτέρω στο απόσπασμα εξόδου, το επόμενο πεδίο περιέχει τον αριθμό ακολουθίας (σελ 196: 568) των δεδομένων στο πακέτο. Το πρώτο πακέτο έχει πάντα θετική ακέραια τιμή και τα επόμενα πακέτα χρησιμοποιούν τον σχετικό αριθμό ακολουθίας για να βελτιώσουν τη ροή δεδομένων.
Το επόμενο πεδίο περιέχει τον αριθμό αναγνώρισης (ack 1ή απλός αριθμός Ack. Το πακέτο που συλλαμβάνεται στο μηχάνημα του αποστολέα έχει 1 ως τον αριθμό αναγνώρισης. Στο τέλος του δέκτη, ο αριθμός Ack είναι η τιμή του επόμενου πακέτου.
Το ένατο πεδίο στην έξοδο φιλοξενεί το μέγεθος του παραθύρου (κερδίστε 309), που είναι ο αριθμός των byte που διατίθενται στο buffer λήψης. Υπάρχουν πολλά άλλα πεδία που ακολουθούν το μέγεθος του παραθύρου, όπως το Μέγιστο Μέγεθος Τμημάτων (MSS).
Το τελευταίο πεδίο (μήκος 33) περιέχει το μήκος του συνολικού πακέτου που καταγράφεται από το tcpdump.
3. Περιορίστε τον αριθμό των πακέτων που έχουν συλληφθεί
Κατά την εκτέλεση της εντολής tcpdump για πρώτη φορά, ενδέχεται να παρατηρήσετε ότι το σύστημα συνεχίζει να καταγράφει πακέτα δικτύου έως ότου περάσετε ένα σήμα διακοπής. Μπορείτε να παρακάμψετε αυτήν την προεπιλεγμένη συμπεριφορά καθορίζοντας τον αριθμό των πακέτων που θέλετε να καταγράψετε εκ των προτέρων χρησιμοποιώντας το -ντο σημαία.
tcpdump - διεπαφή οποιουδήποτε -c 10
Η προαναφερθείσα εντολή θα συλλάβει δέκα πακέτα από οποιαδήποτε ενεργή διεπαφή δικτύου.
4. Φιλτράρετε πακέτα με βάση τα πεδία
Όταν αντιμετωπίζετε ένα πρόβλημα, το να έχετε ένα μεγάλο μπλοκ εξόδου κειμένου στο τερματικό σας δεν το κάνει πιο εύκολο. Εκεί μπαίνει η λειτουργία φιλτραρίσματος στο tcpdump. Μπορείτε να φιλτράρετε τα πακέτα σύμφωνα με διάφορα πεδία, όπως τον κεντρικό υπολογιστή, το πρωτόκολλο, τον αριθμό θύρας και άλλα.
Για να καταγράψετε μόνο πακέτα TCP, πληκτρολογήστε:
tcpdump - διεπαφή οποιουδήποτε -c 5 tcp
Ομοίως, εάν θέλετε να φιλτράρετε την έξοδο χρησιμοποιώντας τον αριθμό θύρας:
tcpdump - διεπαφή οποιασδήποτε θύρας -c 5
Η προαναφερθείσα εντολή θα ανακτά μόνο πακέτα που μεταδίδονται μέσω της καθορισμένης θύρας.
Για να λάβετε τις λεπτομέρειες πακέτου για έναν συγκεκριμένο κεντρικό υπολογιστή:
tcpdump - διεπαφή οποιουδήποτε -c 5 κεντρικού υπολογιστή 112.123.13.145
Εάν θέλετε να φιλτράρετε πακέτα που αποστέλλονται ή λαμβάνονται από έναν συγκεκριμένο κεντρικό υπολογιστή, χρησιμοποιήστε το src ή dst επιχείρημα με την εντολή.
tcpdump - διεπαφή οποιουδήποτε -c 5 src 112.123.13.145
tcpdump - διεπαφή οποιουδήποτε -c 5 dst 112.123.13.145
Μπορείτε επίσης να χρησιμοποιήσετε τους λογικούς τελεστές και και ή για να συνδυάσετε δύο ή περισσότερες εκφράσεις μαζί. Για παράδειγμα, για να λάβετε πακέτα που ανήκουν στο IP προέλευσης 112.123.13.145 και χρησιμοποιήστε τη θύρα 80:
tcpdump - διεπαφή οποιουδήποτε -c 10 src 112.123.13.145 και θύρα 80
Οι σύνθετες εκφράσεις μπορούν να ομαδοποιηθούν χρησιμοποιώντας παρενθέσεις ως εξής:
tcpdump - διεπαφή οποιουδήποτε -c 10 "(src 112.123.13.145 ή src 234.231.23.234) και (θύρα 45 ή θύρα 80)"
5. Δείτε το περιεχόμενο του πακέτου
Μπορείτε να χρησιμοποιήσετε το -ΕΝΑ και -Χ επισημαίνει με την εντολή tcpdump για την ανάλυση του περιεχομένου του πακέτου δικτύου. ο -ΕΝΑ σημαία σημαίνει ASCII μορφή και -Χ δηλώνει δεκαεξαδικό μορφή.
Για να δείτε το περιεχόμενο του επόμενου πακέτου δικτύου που καταγράφεται από το σύστημα:
tcpdump - διεπαφή οποιουδήποτε -c 1 -A
tcpdump - διεπαφή οποιουδήποτε -c 1 -x
Σχετιζομαι με: Τι είναι η απώλεια πακέτου και πώς μπορεί να διορθωθεί η αιτία του;
6. Αποθηκεύστε δεδομένα καταγραφής σε αρχείο
Εάν θέλετε να αποθηκεύσετε τα δεδομένα σύλληψης για λόγους αναφοράς, το tcpdump είναι εκεί για να σας βοηθήσει. Απλώς περάστε το -β επισημάνετε με την προεπιλεγμένη εντολή για να γράψετε την έξοδο σε ένα αρχείο αντί να το εμφανίσετε στην οθόνη.
tcpdump - διεπαφή οποιουδήποτε -c 10 -w data.pcap
ο .pcap σημαίνει επέκταση αρχείου δέσμευση πακέτων δεδομένα. Μπορείτε επίσης να εκδώσετε την προαναφερθείσα εντολή σε κατάσταση ρήξης χρησιμοποιώντας το -β σημαία.
tcpdump - διεπαφή οποιουδήποτε -c 10 -w data.pcap -v
Για να διαβάσετε ένα .pcap αρχείο χρησιμοποιώντας το tcpdump, χρησιμοποιήστε το -ρ σημαία ακολουθούμενη από τη διαδρομή αρχείου. ο -ρ σημαίνει Ανάγνωση.
tcpdump -r data.pcap
Μπορείτε επίσης να φιλτράρετε πακέτα δικτύου από τα δεδομένα πακέτων που είναι αποθηκευμένα στο αρχείο.
tcpdump -r data.pcap θύρα 80
Παρακολούθηση της κυκλοφορίας δικτύου στο Linux
Εάν σας έχει ανατεθεί η διαχείριση ενός διακομιστή Linux, τότε η εντολή tcpdump είναι ένα εξαιρετικό εργαλείο για να συμπεριλάβετε στο οπλοστάσιό σας. Μπορείτε εύκολα να διορθώσετε προβλήματα που σχετίζονται με το δίκτυο καταγράφοντας πακέτα που μεταδίδονται στο δίκτυό σας σε πραγματικό χρόνο.
Αλλά πριν από όλα αυτά, η συσκευή σας πρέπει να είναι συνδεδεμένη στο Διαδίκτυο. Για αρχάριους Linux, ακόμη και η σύνδεση με το Wi-Fi μέσω της γραμμής εντολών μπορεί να είναι λίγο δύσκολη. Αλλά αν χρησιμοποιείτε τα σωστά εργαλεία, είναι ένα γρήγορο.
Θέλετε να συνδεθείτε σε δίκτυο Wi-Fi μέσω της γραμμής εντολών Linux; Να τι πρέπει να γνωρίζετε για την εντολή nmcli.
Διαβάστε Επόμενο
- Linux
- Ασφάλεια
- Δικανική Δίκτυο
Ο Deepesh είναι ο Junior Editor για Linux στο MUO. Γράφει ενημερωτικό περιεχόμενο στο Διαδίκτυο για πάνω από 3 χρόνια. Στον ελεύθερο χρόνο του, του αρέσει να γράφει, να ακούει μουσική και να παίζει κιθάρα.
Εγγραφείτε στο Newsletter μας
Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Ένα ακόμη βήμα…!
Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.