Το Tcpdump είναι μια εντολή που χρησιμοποιείται σε διάφορα λειτουργικά συστήματα Linux (OSs) που συγκεντρώνουν πακέτα TCP / IP που περνούν από έναν προσαρμογέα δικτύου. Όπως ένα εργαλείο sniffer πακέτων, το tcpdump δεν μπορεί μόνο να αναλύσει την κίνηση δικτύου αλλά και να το αποθηκεύσει σε ένα αρχείο.
Σε αντίθεση με ορισμένες εντολές που παρέχονται από το λειτουργικό σύστημα από προεπιλογή, μπορεί να διαπιστώσετε ότι δεν μπορείτε να χρησιμοποιήσετε το tcpdump επειδή δεν είναι εγκατεστημένο. Για να εγκαταστήσετε το tcpdump, εκτελέστε apt-get install tcpdump ή yum install tcpdump, ανάλογα με το λειτουργικό σας σύστημα.
Πώς λειτουργεί το Tcpdump
Το Tcpdump εκτυπώνει τις κεφαλίδες των πακέτων σε μια διεπαφή δικτύου που ταιριάζει με το Boolean έκφραση . Μπορεί επίσης να τρέξει με το-w σημαία, η οποία την προκαλεί να αποθηκεύσει τα πακέτα δεδομένων σε ένα αρχείο για μεταγενέστερη ανάλυση ή / και με το-r σημαία, η οποία την προκαλεί να διαβάζει από ένα αποθηκευμένο αρχείο πακέτου αντί να διαβάζει πακέτα από μια διεπαφή δικτύου. Σε όλες τις περιπτώσεις, μόνο πακέτα που ταιριάζουν έκφραση θα επεξεργαστούν από tcpdump .
Tcpdump αν δεν τρέξει με το-ντο σημαία, συνεχίστε να καταγράφετε τα πακέτα μέχρι να διακοπεί από ένα σήμα SIGINT (που δημιουργείται, για παράδειγμα, πληκτρολογώντας τον χαρακτήρα διακοπής σας, τυπικά Ctrl + C) ή ένα σήμα SIGTERM (συνήθως δημιουργείται με τοσκοτώνω(1) εντολή). αν τρέξετε με το-ντο θα παγώσει πακέτα έως ότου διακοπεί από ένα σήμα SIGINT ή SIGTERM ή ο επεξεργασμένος αριθμός πακέτων έχει υποστεί επεξεργασία.
Οι διακόπτες που αναφέρονται παραπάνω εξηγούνται λεπτομερώς αργότερα σε αυτό το άρθρο.
Πότε tcpdump ολοκληρώνει τη λήψη πακέτων, θα αναφέρει μετρήσεις από:
- Πακέτα "που έχουν ληφθεί από το φίλτρο."
- Η σημασία αυτού εξαρτάται από το λειτουργικό σύστημα στο οποίο εκτελείτε tcpdump , και ενδεχομένως με τον τρόπο που διαμορφώθηκε το λειτουργικό σύστημα. Εάν στο φίλτρο εντοπίστηκε ένα φίλτρο, σε ορισμένα λειτουργικά συστήματα υπολογίζει πακέτα ανεξάρτητα από το αν αντιστοιχούν στην έκφραση φίλτρου και σε άλλους μετράει μόνο πακέτα που αντιστοιχούσαν στην έκφραση φίλτρου και υποβλήθηκαν σε επεξεργασία από tcpdump.
- Τα πακέτα "μειώθηκαν από τον πυρήνα."
- Αυτός είναι ο αριθμός των πακέτων που είχαν πέσει, λόγω έλλειψης χώρου προσωρινής αποθήκευσης, από τον μηχανισμό δέσμευσης πακέτων στο λειτουργικό σύστημα στο οποίο tcpdump εκτελείται, εάν το λειτουργικό σύστημα αναφέρει αυτές τις πληροφορίες σε εφαρμογές. Εάν όχι, θα αναφέρεται ως 0.
Στις πλατφόρμες που υποστηρίζουν το σήμα SIGINFO, όπως τα περισσότερα BSD (Berkeley Software Distributions), θα αναφέρει αυτές τις μετρήσεις όταν λάβει ένα σήμα SIGINFO (που παράγεται, για παράδειγμα, πληκτρολογώντας τον χαρακτήρα "status", συνήθως Ctrl + T) και θα συνεχίσει να καταγράφει πακέτα.
Συμβατότητα Tcpdump
Η ανάγνωση πακέτων από μια διεπαφή δικτύου με την εντολή tcpdump μπορεί να απαιτεί τη λήψη ειδικών προνομίων ( ΑΝΑΓΝΩΣΗ ένα αποθηκευμένο αρχείο πακέτου δεν απαιτεί τέτοια δικαιώματα):
- SunOS 3.x ή 4.x με NIT ή BPF: Πρέπει να έχετε πρόσβαση στην ανάγνωση / dev / nit ή dev / bpf * .
- Solaris με DLPI: Πρέπει να έχετε πρόσβαση ανάγνωσης / εγγραφής στην ψευδοσυσκευή δικτύου, όπως / dev / le . Ωστόσο, τουλάχιστον σε ορισμένες εκδόσεις του Solaris, αυτό δεν αρκεί για να το επιτρέψουμε tcpdump να συλλάβει σε αόριστη λειτουργία. σε εκείνες τις εκδόσεις του Solaris, πρέπει να είστε ρίζα, ή tcpdump πρέπει να εγκατασταθεί σε ρίζα, προκειμένου να συλλάβει σε ασυμβίβαστη λειτουργία. Σημειώστε ότι σε πολλές (ίσως όλες) διασυνδέσεις, εάν δεν καταγράφετε σε αδιέξοδη λειτουργία, δεν θα βλέπετε εξερχόμενα πακέτα, οπότε η σύλληψη που δεν πραγματοποιείται σε κατάσταση χωρίς promiscuous μπορεί να μην είναι πολύ χρήσιμη.
- HP-UX με DLPI: Πρέπει να είστε root ή tcpdump πρέπει να εγκατασταθεί σε root.
- IRIX με snoop: Πρέπει να είστε root ή tcpdump πρέπει να εγκατασταθεί σε root.
- Linux: Πρέπει να είστε root ή tcpdump πρέπει να εγκατασταθεί σε root.
- Ultrix και ψηφιακό UNIX / Tru64 UNIX: Οποιοσδήποτε χρήστης μπορεί να συλλάβει την κυκλοφορία δικτύου με tcpdump . Ωστόσο, κανένας χρήστης (ακόμη και ο υπερ-χρήστης) δεν μπορεί να συλλάβει σε διεπαφή χωρίς promiscuous σε μια διασύνδεση, εκτός εάν ο υπερ-χρήστης έχει ενεργοποιήσει τη λειτουργία promiscuous mode σε αυτή τη διεπαφή χρησιμοποιώντας pfconfig (8) και κανένας χρήστης (ακόμη και ο υπερ-χρήστης) δεν μπορεί να καταγράψει την κίνηση unicast που λαμβάνει ή αποστέλλεται από το μηχάνημα σε μια διεπαφή, εκτός εάν ο υπερ-χρήστης έχει ενεργοποιήσει τη λειτουργία αντιγραφής όλων των λειτουργιών σε αυτή τη διεπαφή χρησιμοποιώντας pfconfig , Έτσι χρήσιμος η δέσμευση πακέτων σε μια διεπαφή απαιτεί πιθανότατα να ενεργοποιείται σε αυτή τη διασύνδεση είτε η λειτουργία χωρίς promiscuous mode είτε η λειτουργία copy-all mode ή και οι δύο τρόποι λειτουργίας.
- BSD: Πρέπει να έχετε πρόσβαση στην ανάγνωση / dev / bpf * .
Σύνταξη εντολής Tcpdump
Όπως όλες οι εντολές του υπολογιστή, η εντολή tcpdump λειτουργεί σωστά μόνο αν η σύνταξη είναι σωστή:
tcpdump -deflnNOpqRStuvxX -ντο μετρώ
-ΝΤΟ μέγεθος αρχείου -ΦΑ αρχείο
-Εγώ διεπαφή -m μονάδα μέτρησης -r αρχείο
-μικρό snaplen -Τ τύπος -U χρήστης -w αρχείο
-ΜΙ algo: μυστικό έκφραση
Επιλογές εντολών Tcpdump
Αυτές είναι όλες οι επιλογές που μπορείτε να χρησιμοποιήσετε με την εντολή tcpdump:
- -ένα: Προσπάθεια μετατροπής διευθύνσεων δικτύου και εκπομπής σε ονόματα.
- -ντο: Έξοδος μετά τη λήψη μετρώ πακέτα.
- -ΝΤΟ: Πριν γράψετε ένα ακατέργαστο πακέτο σε ένα αρχείο αποθήκευσης, ελέγξτε αν το αρχείο είναι μεγαλύτερο από το μέγεθος αρχείου και αν ναι, κλείστε το τρέχον αρχείο αποθήκευσης και ανοίξτε ένα νέο.Ο φάκελος Savefiles μετά το πρώτο αρχείο αποθήκευσης θα έχει το όνομα που καθορίζεται με το-w σημαία, με έναν αριθμό μετά από αυτό, ξεκινώντας από το 2 και συνεχίζοντας προς τα πάνω. Οι μονάδες του μέγεθος αρχείου είναι εκατομμύρια bytes (1.000.000 bytes, όχι 1.048.576 byte).
- -ρε: Καταργήστε τον κώδικα αντιστοίχισης των πακέτων σε μορφή αναγνώσιμη από τον άνθρωπο με την τυπική έξοδο και τη διακοπή.
- -δδ: Ο κώδικας αντιστοίχισης πακέτων απορριμμάτων ως αντο κομμάτι προγράμματος.
- -δδδ: Κωδικός αντιστοίχισης πακέτων απορρίψεων ως δεκαδικοί αριθμοί (προηγείται με καταμέτρηση).
- -μι: Εκτυπώστε την κεφαλίδα στάθμης συνδέσμου σε κάθε γραμμή απόρριψης.
- -ΜΙ: Χρήση algo: μυστικό για την αποκρυπτογράφηση πακέτων ESP IPsec. Αλγόριθμοι μπορεί να είναιdes-cbc, 3des-cbc, blowfish-cbc, rc3-cbc, cast128-cbc, ήκανένας. Η προεπιλογή είναιdes-cbc. Η δυνατότητα αποκρυπτογράφησης των πακέτων είναι παρούσα μόνο εάν tcpdump συντάχθηκε με δυνατότητα κρυπτογράφησης. μυστικό το κείμενο ascii για το μυστικό κλειδί ESP. Δεν μπορούμε να πάρουμε αυθαίρετες δυαδικές τιμές αυτή τη στιγμή. Η επιλογή αναλαμβάνει το RFC2406 ESP, όχι το RFC1827 ESP. Η επιλογή είναι μόνο για σκοπούς εντοπισμού σφαλμάτων και αποθαρρύνεται η χρήση αυτής της επιλογής με αληθινά «μυστικό» κλειδί. Παρουσιάζοντας το μυστικό κλειδί IPsec στη γραμμή εντολών, το καθιστά ορατό σε άλλους, μέσω ps (1) και άλλες περιπτώσεις.
- -φά: Να εκτυπώσετε ψηφιακά τις «ξένες» διευθύνσεις στο διαδίκτυο αντί για συμβολικά (αυτή η επιλογή αποσκοπεί στην επίλυση σοβαρών ζημιών στον εγκεφαλικό ιστό του διακομιστή yp της Sun - συνήθως κρέμεται για πάντα μετάφραση μη τοπικών αριθμών διαδικτύου).
- -ΦΑ: Χρήση αρχείο ως είσοδο για την έκφραση του φίλτρου. Μια επιπλέον έκφραση που δίνεται στη γραμμή εντολών αγνοείται.
- -Εγώ: Ακούστε διεπαφή . Εάν δεν προσδιορίζεται, tcpdump αναζητά τη λίστα διεπαφών συστήματος για τη διεπαφή με τις χαμηλότερες αριθμημένες, διαμορφωμένες διεπαφές (εκτός από το loopback). Οι δεσμοί σπάνε επιλέγοντας το νωρίτερο αγώνα. Σε συστήματα Linux με 2.2 ή νεότερους πυρήνες, ένα διεπαφή το όρισμα "any" μπορεί να χρησιμοποιηθεί για τη λήψη πακέτων από όλες τις διεπαφές. Σημειώστε ότι οι λήψεις στη "οποιαδήποτε" συσκευή δεν θα πραγματοποιηθούν σε αδιέξοδη λειτουργία.
- -μεγάλο: Δημιουργία ρυθμισμένης γραμμής stdout. Χρήσιμο αν θέλετε να δείτε τα δεδομένα ενώ τα καταγράφετε. Για παράδειγμα, "tcpdump -l | tee dat" ή "tcpdump -l> dat & tail -f dat".
- -m: Φορτώστε τους ορισμούς της μονάδας SMI MIB από το αρχείο μονάδα μέτρησης . Αυτή η επιλογή μπορεί να χρησιμοποιηθεί πολλές φορές για τη φόρτωση πολλών μονάδων MIB tcpdump .
- -η: Μην μετατρέπετε τις διευθύνσεις κεντρικού υπολογιστή σε ονόματα. Αυτό μπορεί να χρησιμοποιηθεί για την αποφυγή αναζητήσεων DNS.
- -nn: Μην μετατρέπετε τους αριθμούς πρωτοκόλλων και θυρών κλπ. Σε ονόματα.
- -Ν: Μην εκτυπώσετε τα ονόματα τομέων των ονομάτων κεντρικών υπολογιστών. Για παράδειγμα, αν δώσετε αυτή τη σημαία, τότε tcpdump θα τυπώσει "nic" αντί για "nic.ddn.mil".
- -Ο: Μην εκτελείτε τη βελτιστοποίηση κώδικα που ταιριάζει με τα πακέτα. Αυτό είναι χρήσιμο μόνο εάν υποπτεύεστε ένα σφάλμα στο εργαλείο βελτιστοποίησης.
- -Π: Μην το κάνετε βάλτε τη διασύνδεση σε αδιέξοδη λειτουργία. Σημειώστε ότι η διασύνδεση μπορεί να είναι σε κατάσταση ασυμβίβαστη για κάποιο άλλο λόγο. Συνεπώς, το «-p» δεν μπορεί να χρησιμοποιηθεί ως συντομογραφία για τον «αιθέρα υποδοχέα {τοπικό-hw-addr} ή την εκπομπή αιθέρα».
- -q: Γρήγορη (ήσυχη) έξοδος. Εκτυπώστε λιγότερες πληροφορίες πρωτοκόλλου, ώστε οι γραμμές εξόδου να είναι μικρότερες.
- -R: Υποθέστε ότι τα πακέτα ESP / AH πρέπει να βασίζονται σε παλαιές προδιαγραφές: RFC1825 έως RFC1829. Εάν ορίζεται, tcpdump δεν θα εκτυπώσει το πεδίο προστασίας από επανάληψη. Δεδομένου ότι δεν υπάρχει πεδίο πρωτοκόλλου στην προδιαγραφή ESP / AH, tcpdump δεν μπορεί να εξαγάγει την έκδοση του πρωτοκόλλου ESP / AH.
- -r: Διαβάστε πακέτα από αρχείο (που δημιουργήθηκε με την επιλογή -w). Χρησιμοποιείται τυπική είσοδος εάν αρχείο είναι "-''.
- -ΜΙΚΡΟ: Εκτυπώστε απόλυτους αριθμούς ακολουθίας TCP παρά σχετικούς.
- -μικρό: Snarf snaplen bytes των δεδομένων από κάθε πακέτο και όχι την προεπιλογή των 68, με το NIT της SunOS, το ελάχιστο είναι στην πραγματικότητα 96. Εξήντα οκτώ bytes είναι επαρκές για IP, ICMP, TCP και UDP, αλλά μπορεί να περικόψει τις πληροφορίες πρωτοκόλλου από το διακομιστή ονόματος και τα πακέτα NFS (δείτε παρακάτω). Τα πακέτα που κόπηκαν λόγω περιορισμένου στιγμιότυπου εμφανίζονται στην έξοδο με " proto '', όπου proto είναι το όνομα του επιπέδου πρωτοκόλλου στο οποίο συνέβη η περικοπή. Λάβετε υπόψη ότι η λήψη μεγαλύτερων στιγμιότυπων αυξάνει τόσο τον χρόνο που απαιτείται για την επεξεργασία των πακέτων και, ουσιαστικά, μειώνει την ποσότητα της προσωρινής αποθήκευσης πακέτων. Αυτό μπορεί να προκαλέσει την απώλεια των πακέτων. Θα πρέπει να περιορίσετε snaplen στον μικρότερο αριθμό που θα συλλάβει τις πληροφορίες πρωτοκόλλου που σας ενδιαφέρει. Ρύθμιση snaplen σε 0 σημαίνει ότι χρησιμοποιείτε το απαιτούμενο μήκος για να πιάσετε ολόκληρα πακέτα.
- -Τ: Τα πακέτα δύναμης που έχουν επιλεγεί από " έκφραση "για να ερμηνευθεί το καθορισμένο τύπος . Τώρα είναι γνωστοί τύποιcnfp (Πρωτόκολλο Cisco NetFlow),rpc (Απομακρυσμένη κλήση διαδικασίας),rtp (Πρωτόκολλο εφαρμογών πραγματικού χρόνου),rtcp (Πρωτόκολλο ελέγχου εφαρμογών πραγματικού χρόνου),snmp (Απλό πρωτόκολλο διαχείρισης δικτύου),δεξαμενή (Visual Audio Tool), καιwb (κατανεμημένο λευκό συμβούλιο).
- -t: Μην το κάνετε εκτυπώστε μια σφραγίδα χρόνου σε κάθε γραμμή εκφόρτωσης.
- -tt: Εκτυπώστε μια μη μορφοποιημένη χρονική σήμανση σε κάθε γραμμή απόρριψης.
- -U: Αποσπάσματα προφίλ root και αλλάζει αναγνωριστικό χρήστη σε χρήστης και αναγνωριστικό ομάδας στην κύρια ομάδα του χρήστης .
- Σημείωση: Το Red Hat Linux αποβάλλει αυτόματα τα δικαιώματα στο χρήστη "pcap" αν δεν έχει καθοριστεί τίποτα άλλο.
- -ttt: Εκτυπώστε ένα δέλτα (σε μικροδευτερόλεπτα) μεταξύ της τρέχουσας και της προηγούμενης γραμμής σε κάθε γραμμή απόρριψης.
- -tttt: Εκτυπώστε μια χρονική σήμανση στην προεπιλεγμένη μορφή που προχώρησε κατά ημερομηνία σε κάθε γραμμή απόρριψης.
- -u: Εκτυπώστε τις μη κωδικοποιημένες λαβές NFS.
- -v: (Ελαφρώς περισσότερη) απότομη έξοδος. Για παράδειγμα, εκτυπώνονται ο χρόνος ζωής, η ταυτότητα, το συνολικό μήκος και οι επιλογές σε ένα πακέτο IP. Επιτρέπει επίσης πρόσθετους ελέγχους ακεραιότητας πακέτων, όπως επαλήθευση του αθροίσματος ελέγχου IP και κεφαλίδας ICMP.
- -vv: Ακόμη πιο λεπτομερής έξοδος. Για παράδειγμα, εκτυπώνονται πρόσθετα πεδία από τα πακέτα απαντήσεων NFS και τα πακέτα SMB αποκωδικοποιούνται πλήρως.
- -vvv: Ακόμη πιο λεπτομερής έξοδος. Για παράδειγμα, telnetSB … SE οι επιλογές εκτυπώνονται πλήρως. Με -Χ Οι επιλογές telnet εκτυπώνονται και σε hex.
- -w: Γράψτε τα ακατέργαστα πακέτα στο αρχείο αντί να αναλύσει και να τα εκτυπώσει. Μπορούν αργότερα να εκτυπωθούν με την επιλογή -r. Η τυπική έξοδος χρησιμοποιείται αν αρχείο είναι "-''.
- -Χ: Εκτυπώστε κάθε πακέτο (μείον την κεφαλίδα του επιπέδου σύνδεσης) σε hex. Το μικρότερο από το σύνολο του πακέτου ή snaplen θα εκτυπωθούν τα byte. Σημειώστε ότι αυτό είναι το σύνολο του πακέτου συνδέσμου, έτσι ώστε για τα στρώματα συνδέσεων που πληρούν (π.χ. Ethernet), τα byte padding θα εκτυπωθούν επίσης όταν το πακέτο υψηλότερου στρώματος είναι μικρότερο από το απαιτούμενο παραγέμισμα.
- -Χ: Όταν εκτυπώνετε hex, εκτυπώστε ascii επίσης. Έτσι αν-Χ επίσης, το πακέτο εκτυπώνεται σε hex / ascii. Αυτό είναι πολύ βολικό για την ανάλυση νέων πρωτοκόλλων. Ακόμα κι αν-Χ δεν έχει οριστεί, ορισμένα τμήματα ορισμένων πακέτων μπορούν να εκτυπωθούν σε hex / ascii.
- έκφραση : Επιλέγει ποια πακέτα θα απορριφθούν. Εάν όχι έκφραση , δίνονται όλα τα πακέτα στο δίκτυο. Διαφορετικά, μόνο πακέτα για τα οποία έκφραση είναι "αληθινό" θα απορριφθεί. ο έκφραση αποτελείται από ένα ή περισσότερα πρωτόγονα. Τα πρωτότυπα αποτελούνται συνήθως από ένα ταυτότητα (όνομα ή αριθμός) που προηγείται από έναν ή περισσότερους προκριματικούς τίτλους. Υπάρχουν τρία διαφορετικά είδη προκριματικών:
- τύπος : Οι προκριματικοί λένε τι είδους αναφέρεται το όνομα ή ο αριθμός ταυτότητας. Πιθανοί τύποι είναιπλήθος, καθαρά, καιΛιμάνι-Για παράδειγμα, "host foo", "net 128.3", "port 20". Εάν δεν υπάρχει κανένας προσδιοριστής τύπου,πλήθος υποτίθεται.
- Διεύθυνση : Τα προκριματικά καθορίζουν μια συγκεκριμένη κατεύθυνση μεταφοράς προς και / ή από ταυτότητα . Πιθανές κατευθύνσειςsrc, dst, src ή dst καιsrc και dst (π.χ. 'src foo', 'dst net 128.3', 'src ή dst port ftp-data'). Εάν δεν υπάρχει κανένας προκριματικός τίτλος,src ή dst υποτίθεται. Για τα 'null' στρώματα σύνδεσης (δηλ., Πρωτόκολλα από σημείο σε σημείο όπως ολίσθηση) το εισερχόμενος και εξερχόμενος οι προκριματικοί μπορούν να χρησιμοποιηθούν για τον προσδιορισμό της επιθυμητής κατεύθυνσης.
- proto : Τα προκριματικά περιορίζουν τον αγώνα σε ένα συγκεκριμένο πρωτόκολλο. Πιθανά protos είναι: αιθέρας, fddi, tr, ip, ip6, arp, rarp, decnet, tcp, καιudp-Για παράδειγμα, "ether src foo", "arp net 128.3", "θύρα tcp 21". Εάν δεν υπάρχει πρωταρχικός προσδιοριστής, θεωρούνται όλα τα πρωτόκολλα που συμφωνούν με τον τύπο. Για παράδειγμα, το 'src foo' σημαίνει '(ip ή arp ή rarp) src foo' (εκτός από το τελευταίο που δεν είναι νομική σύνταξη), 'net bar' σημαίνει '(ip ή arp or rarp) σημαίνει τη θύρα 53 (tcp ή udp) 53 '.
- 'fddi' είναι στην πραγματικότητα ένα ψευδώνυμο για τον 'αιθέρα'. ο αναλυτής τους αντιμετωπίζει με τον ίδιο τρόπο ως το "επίπεδο σύνδεσης δεδομένων που χρησιμοποιείται στην καθορισμένη διεπαφή δικτύου". Οι επικεφαλίδες FDDI περιέχουν διευθύνσεις προέλευσης και προορισμού τύπου Ethernet και συχνά περιέχουν τύπους πακέτων τύπου Ethernet, ώστε να μπορείτε να φιλτράρετε αυτά τα πεδία FDDI όπως συμβαίνει με τα αντίστοιχα πεδία Ethernet.Οι επικεφαλίδες FDDI περιέχουν επίσης άλλα πεδία, αλλά δεν μπορείτε να τα ονομάσετε ρητά σε μια έκφραση φίλτρου.
- Ομοίως, το «tr» είναι ένα ψευδώνυμο για τον «αιθέρα». οι δηλώσεις προηγούμενης παραγράφου σχετικά με τις κεφαλίδες FDDI ισχύουν και για τις κεφαλίδες Token Ring.
Εκτός από τα παραπάνω, υπάρχουν κάποιες ειδικές "πρωτόγονες" λέξεις-κλειδιά που δεν ακολουθούν το πρότυπο:πύλη, αναμετάδοση, πιο λιγο, μεγαλύτερη, και αριθμητική εκφράσεις. Όλα αυτά περιγράφονται παρακάτω.
Πιο πολύπλοκες εκφράσεις φίλτρων δημιουργούνται χρησιμοποιώντας τις λέξειςκαι, ή, καιδεν για να συνδυάσετε πρωτόνια - για παράδειγμα, "host foo και όχι θύρα ftp και όχι port ftp-data". Για να εξοικονομήσετε πληκτρολόγηση, μπορούν να παραλειφθούν πανομοιότυπες λίστες προσδιοριστών (π.χ. "tcp dst port ftp ή ftp-data or domain" είναι ακριβώς το ίδιο με το "tcp dst port ftp ή tcp dst port ftp-data ή tcp dst port domain"
Αυτά είναι τα πρωτεύοντα που επιτρέπονται με την εντολή tcpdump:
- dst υποδοχής πλήθος
- Αληθινό αν το πεδίο προορισμού IPv4 / v6 του πακέτου είναι πλήθος , η οποία μπορεί να είναι είτε διεύθυνση είτε όνομα.
- src host πλήθος
- Αληθινό αν το πεδίο προέλευσης IPv4 / v6 του πακέτου είναι πλήθος .
- πλήθος πλήθος
- Είναι αληθές εάν είναι είτε η πηγή IPv4 / v6 είτε ο προορισμός του πακέτου πλήθος . Οποιαδήποτε από τις παραπάνω εκφράσεις του κεντρικού υπολογιστή μπορεί να προστεθεί με τις λέξεις-κλειδιά,ip, arp, rarp, ήip6, όπως λέμε ip υποδοχής πλήθος (που ισοδυναμεί με αιθέρα πρωτο ip και υποδοχής πλήθος).
- Αν πλήθος είναι ένα όνομα με πολλές διευθύνσεις IP, κάθε διεύθυνση θα ελεγχθεί για έναν αγώνα.
- αιθέρα dst ehost
- Αληθινή εάν η διεύθυνση προορισμού Ethernet είναι ehost . Ehost μπορεί να είναι είτε ένα όνομα από το / etc / ethers ή ένας αριθμός (βλ αιθέρες (3Ν) για αριθμητική μορφή).
- αιθέρας src ehost
- Αληθινή αν η διεύθυνση πηγής Ethernet είναι ehost .
- αιθέρα ξενιστή ehost
- Είναι αληθές εάν η πηγή Ethernet ή η διεύθυνση προορισμού είναι ehost .
- πύλη πλήθος
- Αληθινό αν το πακέτο χρησιμοποιείται πλήθος ως πύλη (δηλ. η πηγή Ethernet ή η διεύθυνση προορισμού ήταν πλήθος αλλά ούτε η πηγή IP ούτε ο προορισμός IP ήταν πλήθος ).
- Πλήθος πρέπει να είναι ένα όνομα και πρέπει να βρεθεί τόσο από τους μηχανισμούς επίλυσης διευθύνσεων κεντρικού υπολογιστή-κεντρικού υπολογιστή-διεύθυνση (host name file, DNS, NIS κ.λπ.) όσο και από τον μηχανισμό ανάλυσης διευθύνσεων host-name-to-Ethernet (/ etc / ethers κ.λπ.).
- Μια ισοδύναμη έκφραση είναι αιθέρα ξενιστή ehost και τώρα υποδοχής πλήθος , το οποίο μπορεί να χρησιμοποιηθεί με ονόματα ή αριθμούς για host / ehost . Αυτή η σύνταξη δεν λειτουργεί σε διαμόρφωση με δυνατότητα IPv6 αυτή τη στιγμή.
- dst net καθαρά
- Αληθινή, εάν η διεύθυνση προορισμού IPv4 / v6 του πακέτου έχει αριθμό δικτύου καθαρά . Καθαρά μπορεί να είναι είτε ένα όνομα από / etc / δίκτυα είτε ένας αριθμός δικτύου (βλ δίκτυα (4) για λεπτομέρειες).
- src net καθαρά
- Αληθινή, εάν η διεύθυνση προέλευσης IPv4 / v6 του πακέτου έχει αριθμό δικτύου από καθαρά .
- καθαρά καθαρά
- Είναι αληθές εάν είτε η πηγή IPv4 / v6 είτε η διεύθυνση προορισμού του πακέτου έχει αριθμό δικτύου καθαρά .
- καθαρά καθαρά μάσκα μάσκα δικτύου
- Είναι αληθές αν η διεύθυνση IP ταιριάζει καθαρά με τα συγκεκριμένα μάσκα δικτύου . Μπορεί να είναι κατάλληλος γιαsrc ήdst. Σημειώστε ότι αυτή η σύνταξη δεν ισχύει για το IPv6 καθαρά .
- καθαρά καθαρά / len
- Είναι αληθές αν η διεύθυνση IPv4 / v6 ταιριάζει καθαρά με μια μάσκα δικτύου len bits ευρεία. Μπορεί να είναι κατάλληλος γιαsrc ήdst.
- dst λιμάνι Λιμάνι
- Αληθεύει εάν το πακέτο είναι ip / tcp, ip / udp, ip6 / tcp ή ip6 / udp και έχει μια τιμή θύρας προορισμού Λιμάνι . ο Λιμάνι μπορεί να είναι ένας αριθμός ή ένα όνομα που χρησιμοποιείται στο / etc / services (βλ tcp (4Ρ) και udp (4Ρ)). Εάν χρησιμοποιείται κάποιο όνομα, ελέγχεται τόσο ο αριθμός θύρας όσο και το πρωτόκολλο. Εάν χρησιμοποιείται αριθμός ή διφορούμενο όνομα, ελέγχεται μόνο ο αριθμός θύρας (π.χ.,θύρα dst 513 θα εκτυπώσει τόσο την κυκλοφορία tcp / login όσο και την κυκλοφορία udp / who, καιτομέα θύρας θα εκτυπώσει τόσο την επισκεψιμότητα tcp / domain όσο και την υπηρεσία udp / domain).
- src θύρα Λιμάνι
- Αληθές εάν το πακέτο έχει τιμή θύρας προέλευσης Λιμάνι .
- Λιμάνι Λιμάνι
- Είναι αληθές εάν η θύρα προέλευσης ή προορισμού του πακέτου είναι Λιμάνι . Οποιαδήποτε από τις παραπάνω εκφράσεις θυρών μπορεί να προστεθεί με τις λέξεις-κλειδιά,tcp ήudp, όπως λέμε tcp θύρα src Λιμάνι , το οποίο αντιστοιχεί μόνο σε πακέτα tcp των οποίων η θύρα προέλευσης είναι Λιμάνι .
- πιο λιγο μήκος
- Αληθές αν το πακέτο έχει μήκος μικρότερο ή ίσο με μήκος . Αυτό ισοδυναμεί με len <= Μήκος .
- μεγαλύτερη μήκος
- Είναι αληθές εάν το πακέτο έχει μήκος μεγαλύτερο ή ίσο με μήκος . Αυτό ισοδυναμεί με len> = Μήκος .
- ip proto πρωτόκολλο
- Είναι αληθές εάν το πακέτο είναι πακέτο IP (βλ ip (4Ρ)) τύπου πρωτοκόλλου πρωτόκολλο . Πρωτόκολλο μπορεί να είναι ένας αριθμός ή ένα από τα ονόματα icmp , icmp6 , igmp , igrp , pim , αχ , esp , vrrp , udp , ή tcp . Σημειώστε ότι τα αναγνωριστικά tcp , udp , και icmp είναι επίσης λέξεις-κλειδιά και πρέπει να διαφεύγετε μέσω της ανάστροφης κάθετος (), η οποία είναι στο κέλυφος C. Σημειώστε ότι αυτό το πρωτόγονο δεν κυνηγάει την αλυσίδα κεφαλίδας πρωτοκόλλου.
- ip6 proto πρωτόκολλο
- Είναι αληθές εάν το πακέτο είναι πακέτο IPv6 τύπου πρωτοκόλλου πρωτόκολλο . Σημειώστε ότι αυτό το πρωτόγονο δεν κυνηγάει την αλυσίδα κεφαλίδας πρωτοκόλλου.
- πρωτόκολλο ip6 πρωτόκολλο
- Είναι αληθές αν το πακέτο είναι πακέτο IPv6 και περιέχει κεφαλίδα πρωτοκόλλου με τύπο πρωτόκολλο στην αλυσίδα κεφαλίδων πρωτοκόλλου. Για παράδειγμα, Πρωτόκολλο ipv6 6 αντιστοιχεί σε οποιοδήποτε πακέτο IPv6 με κεφαλίδα πρωτοκόλλου TCP στην αλυσίδα κεφαλίδων πρωτοκόλλου. Το πακέτο μπορεί να περιέχει, για παράδειγμα, κεφαλίδα ελέγχου ταυτότητας, κεφαλίδα δρομολόγησης ή κεφαλίδα επιλογής hop-by-hop, μεταξύ κεφαλίδας IPv6 και κεφαλίδας TCP. Ο κώδικας BPF που εκπέμπεται από αυτό το πρωτόγονο είναι πολύπλοκο και δεν μπορεί να βελτιστοποιηθεί με τον κώδικα βελτιστοποίησης BPF tcpdump , οπότε αυτό μπορεί να είναι κάπως αργό.
- ip protochain πρωτόκολλο
- Ισοδυναμεί μεπρωτόκολλο ip6 πρωτόκολλο , αλλά αυτό ισχύει για το IPv4.
- εκπομπή αιθέρα
- Είναι αληθές εάν το πακέτο είναι πακέτο εκπομπής Ethernet. ο αιθέρας η λέξη κλειδί είναι προαιρετική.
- ip μετάδοση
- Είναι αλήθεια εάν το πακέτο είναι ένα πακέτο εκπομπής IP. Ελέγχει και τις δύο συμβάσεις εκπομπής όλων των μηδενικών και όλων των ειδών και αναζητά την τοπική μάσκα υποδικτύου.
- αιθάλης πολλαπλής εκπομπής
- Αληθινό αν το πακέτο είναι πακέτο Ethernet multicast. ο αιθέρας η λέξη κλειδί είναι προαιρετική. Αυτό είναι συντομογραφία για 'αιθέρας 0 & 1! = 0'.
- ip multicast
- Είναι αληθές εάν το πακέτο είναι πακέτο IP multicast.
- ip6 multicast
- Είναι αλήθεια εάν το πακέτο είναι ένα πακέτο πολυεκπομπής IPv6.
- αιθέρα πρωτο πρωτόκολλο
- Είναι αληθές εάν το πακέτο είναι τύπου αιθέρα πρωτόκολλο . Πρωτόκολλο μπορεί να είναι ένας αριθμός ή ένα από τα ονόματα ip , ip6 , arp , rarp , μια συζήτηση , aarp , decnet , sca , lat , mopdl , moprc , iso , stp , ipx , ή netbeui . Σημειώστε ότι αυτά τα αναγνωριστικά είναι επίσης λέξεις-κλειδιά και πρέπει να διαφεύγετε με αντίστροφη κάθετο ().
- Στην περίπτωση του FDDI (π.χ.,fddi πρωτόκολλο arp') και Token Ring (π.χ.'tr πρωτόκολλο αρπ'), για τα περισσότερα από αυτά τα πρωτόκολλα, η ταυτοποίηση πρωτοκόλλου προέρχεται από την κεφαλίδα 802.2 Logical Link Control (LLC), η οποία είναι συνήθως στρωμένη πάνω από την επικεφαλίδα FDDI ή Token Ring.
- Κατά το φιλτράρισμα για τα περισσότερα αναγνωριστικά πρωτοκόλλου σε FDDI ή Token Ring, tcpdump ελέγχει μόνο το πεδίο αναγνωριστικού πρωτοκόλλου μιας κεφαλίδας LLC σε λεγόμενη μορφή SNAP με αναγνωριστικό οργανικής μονάδας (OUI) 0x000000, για encapsulated Ethernet. δεν ελέγχει αν το πακέτο είναι σε μορφή SNAP με OUI 0x000000.
- Οι εξαιρέσεις είναι iso , για το οποίο ελέγχει τα πεδία DSAP (Access Point Service Access Point) και SSAP (Source Service Access Point) της κεφαλίδας LLC, stp και netbeui , όπου ελέγχει το DSAP της επικεφαλίδας LLC, και μια συζήτηση , όπου ελέγχει για ένα πακέτο μορφής SNAP με OUI 0x080007 και ετικέτα Appletalk.
- Στην περίπτωση του Ethernet, tcpdump ελέγχει το πεδίο τύπου Ethernet για τα περισσότερα από αυτά τα πρωτόκολλα. οι εξαιρέσεις είναι iso , χυμός δέντρου , και netbeui , για το οποίο ελέγχει ένα πλαίσιο 802,3 και στη συνέχεια ελέγχει την κεφαλίδα LLC όπως και για το FDDI και το Token Ring. μια συζήτηση , όπου ελέγχει τόσο το πρότυπο Appletalk σε πλαίσιο Ethernet όσο και το πακέτο μορφής SNAP όπως και για το FDDI και το Token Ring. aarp , όπου ελέγχει το πρότυπο Appletalk ARP είτε σε πλαίσιο Ethernet είτε σε πλαίσιο 802.2 SNAP με OUI 0x000000. και ipx , όπου ελέγχει για το πρότυπο IPX σε πλαίσιο Ethernet, το IPX DSAP στην κεφαλίδα LLC, το 802.3 χωρίς εγκιβωτισμό κεφαλίδας LLC του IPX και τον τύπο IPX σε πλαίσιο SNAP.
- decnet src πλήθος
- Αληθινή αν είναι η διεύθυνση προέλευσης DECNET πλήθος , η οποία μπορεί να είναι μια διεύθυνση της φόρμας "10.123" ή ένα όνομα κεντρικού υπολογιστή DECNET. Η υποστήριξη του ονόματος υποδοχής DECNET είναι διαθέσιμη μόνο σε συστήματα Ultrix που έχουν ρυθμιστεί ώστε να εκτελούν το DECNET.
- decnet dst πλήθος
- Αληθινή αν η διεύθυνση προορισμού DECNET είναι πλήθος .
- decnet host πλήθος
- Είναι αληθές εάν η πηγή DECNET ή η διεύθυνση προορισμού είναι πλήθος .
- ip, ip6, arp, rarp, μια συζήτηση, aarp, decnet, iso, stp, ipx, netbeui
- Συντομογραφίες για αιθέρα πρωτο Π όπου Π είναι ένα από τα παραπάνω πρωτόκολλα.
- lat, moprc, mopdl
- Συντομογραφίες για αιθέρα πρωτο Π όπου Π είναι ένα από τα παραπάνω πρωτόκολλα. Σημειώστε ότι tcpdump δεν γνωρίζει επί του παρόντος πώς να αναλύσει αυτά τα πρωτόκολλα.
- vlan vlan_id
- Είναι αλήθεια εάν το πακέτο είναι πακέτο VLAN IEEE 802.1Q. Αν vlan_id , μόνο εάν το πακέτο έχει καθοριστεί vlan_id . Σημειώστε ότι η πρώτηvlan η λέξη-κλειδί που εμφανίστηκε στο έκφραση αλλάζει τις αποκλίσεις αποκωδικοποίησης για το υπόλοιπο του έκφραση με την παραδοχή ότι το πακέτο είναι πακέτο VLAN.
- tcp, udp, icmp
- Συντομογραφίες για ip proto Π ή ip6 proto Π όπου Π είναι ένα από τα παραπάνω πρωτόκολλα.
- iso proto πρωτόκολλο
- Είναι αληθές εάν το πακέτο είναι πακέτο OSI τύπου πρωτοκόλλου πρωτόκολλο . Πρωτόκολλο μπορεί να είναι ένας αριθμός ή ένα από τα ονόματα clnp , esis , ή Ίσις .
- clnp, esis, Ίσις
- Συντομογραφίες για iso proto Π όπου Π είναι ένα από τα παραπάνω πρωτόκολλα. Σημειώστε ότι tcpdump κάνει μια ελλιπή δουλειά στην ανάλυση αυτών των πρωτοκόλλων.
- expr relop expr
- Είναι αλήθεια αν η σχέση διατηρεί, πού relop είναι ένα από>, <,> =, <=, =,! =, και expr είναι μια αριθμητική έκφραση αποτελούμενη από ακέραιες σταθερές (εκφρασμένες σε συνήθη C συντάξεις), τους κανονικούς δυαδικούς χειριστές +, -, *, /, &, |, έναν τελεστή μήκους και ειδικά εξαρτήματα πακέτων δεδομένων. Για να έχετε πρόσβαση στα δεδομένα μέσα στο πακέτο, χρησιμοποιήστε την ακόλουθη σύνταξη: proto έκφραση: μέγεθος .
Proto είναι ένα απόαιθέρας, fddi, tr, ppp, γλιστράω, Σύνδεσμος, ip, arp, rarp, tcp, udp, icmp, ή ip6, και δείχνει το επίπεδο πρωτοκόλλου για τη λειτουργία ευρετηρίου (αιθέρας, fddi, tr, ppp, γλιστράω, καιΣύνδεσμος όλα αναφέρονται στο στρώμα συνδέσμου). Σημειώστε ότι tcp, udp , και άλλοι τύποι πρωτοκόλλου ανώτερου επιπέδου ισχύουν μόνο για το IPv4, όχι για το IPv6 (αυτό θα καθοριστεί στο μέλλον). Η μετατόπιση των ψηφιολέξεων, σε σχέση με το υποδεικνυόμενο επίπεδο πρωτοκόλλου, δίνεται από το expr . Μέγεθος είναι προαιρετική και υποδεικνύει τον αριθμό των bytes στον τομέα ενδιαφέροντος. μπορεί να είναι είτε ένα, δύο, ή τέσσερα, και προεπιλογή σε ένα. Ο χειριστής μήκους, που υποδεικνύεται από τη λέξη-κλειδίlen, δίνει το μήκος του πακέτου.
Για παράδειγμα, 'αιθέρας 0 & 1! = 0"καταγράφει όλες τις κυκλοφοριακές μεταδόσεις πολλαπλών διαδρομών. Η έκφραση "ip 0 & 0xf! = 5'παγιδεύει όλα τα πακέτα IP με επιλογές. Η έκφραση "ip 6: 2 & 0x1fff = 0'αλιεύει μόνο μη πυκνοκαταβλημένα datagrams και το μηδέν frag των κατακερματισμένων datagrams. Αυτός ο έλεγχος εφαρμόζεται σιωπηρά στοtcp καιudp πράξεις ευρετηρίου. Για παράδειγμα, tcp 0 σημαίνει πάντα το πρώτο byte του TCP επί κεφαλής , και δεν σημαίνει ποτέ το πρώτο byte ενός παρεμβαλλόμενου θραύσματος.
Ορισμένες μετατοπίσεις και τιμές πεδίου μπορεί να εκφράζονται ως ονόματα και όχι ως αριθμητικές τιμές. Οι παρακάτω αντισταθμίσεις πεδίων κεφαλίδας πρωτοκόλλου είναι διαθέσιμες: icmptype (Πεδίο τύπου ICMP),icmpcode (Πεδίο κώδικα ICMP) καιtcpflags (Πεδίο σημαίας TCP).
Είναι διαθέσιμες οι ακόλουθες τιμές πεδίου ICMP τύπου:icmp-echoreply, icmp-unreach, icmp-sourcequench, icmp-redirect, icmp-echo, icmp-routeradvert, icmp-routersolicit, icmp-timxceed, icmp-paramprob, icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply, icmp-maskreq, icmp-maskreply.
Οι παρακάτω τιμές πεδίων σημαίας TCP είναι διαθέσιμες:tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-push, tcp-ack, tcp-urg.
Τα πρωτότυπα μπορεί να συνδυαστούν χρησιμοποιώντας οποιοδήποτε από τα παρακάτω:
- Μια παρένθετη ομάδα πρωτογενών και χειριστών (οι παρενθέσεις είναι ξεχωριστές για τη Shell και πρέπει να ξεφύγουν)
- Απαλλαγή ('!'ή `δεν')
- Συνδυασμός ('&&' ή 'και')
- Εναλλαγή ('||' ή 'ή')
Η άρνηση έχει ύψιστη προτεραιότητα. Η εναλλαγή και η αλληλουχία έχουν την ίδια προτεραιότητα και συνδέονται από αριστερά προς τα δεξιά. Σημειώστε ότι είναι σαφέςκαι δεν απαιτούνται συμβόλαια, παρά αντιπαραθέσεις, για την αλληλοσύνδεση.
Εάν παρέχεται ένα αναγνωριστικό χωρίς λέξη-κλειδί, θεωρείται η πιο πρόσφατη λέξη-κλειδί. Για παράδειγμα, όχι ο ξενιστής και ο άσσος είναι σύντομη για όχι φιλοξενούμενος vs και άσος υποδοχής. Ωστόσο, αυτό δεν πρέπει να συγχέεται με όχι (vs ξενιστής ή άσος).
Τα επιχειρήματα έκφρασης μπορούν να περάσουν tcpdump ως ένα μόνο επιχείρημα ή ως πολλαπλά επιχειρήματα, όποιο είναι πιο βολικό. Γενικά, αν η έκφραση περιέχει μετα-χαρακτήρες Shell, είναι πιο εύκολο να την περάσετε ως ένα μόνο, αναφερόμενο επιχείρημα. Τα πολλαπλά επιχειρήματα συνενώνονται με διαστήματα πριν αναλυθούν.
Παραδείγματα Tcpdump
tcpdump ημέρα υποδοχής
Η παραπάνω εντολή tcpdump χρησιμοποιείται για την εκτύπωση όλων των πακέτων που φθάνουν ή αναχωρούν δύση ηλίου. το helios υποδοχής tcpdump και (ζεστό ή άσε )
Αυτό το παράδειγμα tcpdump εκτυπώνει την κυκλοφορία μεταξύ helios και είτε ζεστό ή άσσος. tcpdump ip άσος υποδοχής και όχι helios
Μπορείτε να χρησιμοποιήσετε αυτήν την εντολή tcpdump για να εκτυπώσετε όλα τα πακέτα IP μεταξύ άσσος και οποιοσδήποτε κεντρικός υπολογιστής εκτός helios. tcpdump net ucb-αιθέρα
Στο παραπάνω παράδειγμα, το tcpdump εκτυπώνει όλη την κίνηση μεταξύ των τοπικών κεντρικών υπολογιστών και των κεντρικών υπολογιστών στο Berkeley. tppdump 'και (θύρα ftp ή ftp-data)'
Αυτό το επόμενο παράδειγμα εντολής tcpdump χρησιμοποιείται για να εκτυπώσει όλη την κίνηση FTP μέσω της πύλης διαδικτύου snup . Σημειώστε ότι η έκφραση αναφέρεται για να εμποδίσετε το κέλυφος να ερμηνεύει εσφαλμένα τις παρενθέσεις. tcpdump ip και όχι καθαρό τοπικό δίκτυο
Στο παραπάνω παράδειγμα tcpdump, η εντολή εκτυπώνει την κίνηση που δεν προέρχεται ούτε προορίζεται για τοπικούς κεντρικούς υπολογιστές. tcpdump 'tcp tcpflags & (tcp-syn | tcp-fin)! = 0 και όχι src και dst net τοπικό δίκτυο '
Για το παραπάνω παράδειγμα του tcpdump, η εντολή χρησιμοποιείται για την εκτύπωση των πακέτων έναρξης και λήξης (πακέτα SYN και FIN) κάθε συνομιλίας TCP που περιλαμβάνει μη τοπικό κεντρικό υπολογιστή. tcpdump 'snup gateway και ip 2: 2> 576'
Η παραπάνω εντολή θα εκτυπώσει πακέτα IP περισσότερο από 576 bytes που στέλνονται μέσω της πύλης snup. tcpdump 'αιθέρας 0 & 1 = 0 και ip 16> = 224'
Η εντολή tcpdump που φαίνεται παραπάνω εκτυπώνει πακέτα εκπομπής IP ή πολυεκπομπής που ήταν δεν αποστέλλονται μέσω εκπομπής μέσω Ethernet ή πολυεκπομπής. tcpdump 'icmp icmptype! = icmp-echo και icmp icmptype! = icmp-echoreply'
Σε αυτό το τελευταίο παράδειγμα του tcpdump, η εντολή εκτυπώνει όλα τα πακέτα ICMP που δεν είναι αιτήσεις echo ή απαντήσεις (δηλ. Όχι πακέτα ping). Η έξοδος του tcpdump εξαρτάται από το πρωτόκολλο. Τα παρακάτω δίνουν μια σύντομη περιγραφή και παραδείγματα των περισσότερων μορφών. Κεφαλίδες επιπέδου συνδέσμου. Αν δοθεί η επιλογή '-e', εκτυπώνεται η κεφαλίδα του επιπέδου σύνδεσης. Σε δίκτυα Ethernet, τυπώνονται οι διευθύνσεις προέλευσης και προορισμού, το πρωτόκολλο και το μήκος πακέτου. Σε δίκτυα FDDI, η επιλογή '-e' προκαλεί tcpdump για να εκτυπώσετε το πεδίο ελέγχου πλαισίου, τις διευθύνσεις προέλευσης και προορισμού και το μήκος του πακέτου. Το πακέτο "control frame" ελέγχει την ερμηνεία του υπόλοιπου πακέτου.Τα κανονικά πακέτα (όπως αυτά που περιέχουν τα IP datagrams) είναι πακέτα 'async', με τιμή προτεραιότητας μεταξύ 0 και 7: για παράδειγμα `async4'. Αυτά τα πακέτα θεωρείται ότι περιέχουν ένα πακέτο 802.2 Logical Link Control (LLC). η κεφαλίδα LLC εκτυπώνεται αν είναι δεν ένα πακέτο δεδομένων ISO ή ένα λεγόμενο πακέτο SNAP. Στα δίκτυα Token Ring, η επιλογή '-e' προκαλεί tcpdump για να εκτυπώσετε τα πεδία «ελέγχου πρόσβασης» και «πλαισίου ελέγχου», τις διευθύνσεις προέλευσης και προορισμού και το μήκος του πακέτου. Όπως και στα δίκτυα FDDI, τα πακέτα θεωρείται ότι περιέχουν ένα πακέτο LLC. Ανεξάρτητα από το αν η επιλογή '-e' έχει καθοριστεί ή όχι, οι πληροφορίες δρομολόγησης πηγής εκτυπώνονται για πακέτα με δρομολόγια προέλευσης. (Π.Β .: Η ακόλουθη περιγραφή προϋποθέτει εξοικείωση με τον αλγόριθμο συμπίεσης SLIP που περιγράφεται στο RFC-1144.)
Μορφή εξόδου Tcpdump