Εισαγωγή στο Tcpdump

Εάν εκτελείτε έναν διακομιστή, αναμφίβολα θα φτάσετε σε ένα σημείο όπου θα πρέπει να επιλύσετε ορισμένα προβλήματα που σχετίζονται με το δίκτυο. Φυσικά, θα ήταν εύκολο να στείλετε απλώς ένα μήνυμα στο τμήμα υποστήριξης, αλλά μερικές φορές χρειάζεται να λερώσετε τα χέρια σας. Σε αυτή την περίπτωση, tcpdumpείναι το εργαλείο για αυτή τη δουλειά. Το Tcpdump είναι ένας αναλυτής πακέτων δικτύου που εκτελείται κάτω από τη γραμμή εντολών.

Αυτό το άρθρο θα χωριστεί σε τρία μέρη:

  • Βασικά χαρακτηριστικά.
  • Φιλτράρισμα με βάση ορισμένα χαρακτηριστικά κυκλοφορίας.
  • Ένα σύντομο απόσπασμα από τις πιο προηγμένες δυνατότητες (όπως λογικές εκφράσεις, φιλτράρισμα με σημαίες TCP).

Εφόσον το tcpdump δεν περιλαμβάνεται στα περισσότερα βασικά συστήματα, θα χρειαστεί να το εγκαταστήσετε. Ωστόσο, σχεδόν όλες οι διανομές Linux έχουν tcpdump στα βασικά αποθετήρια τους. Για διανομές που βασίζονται στο Debian, η εντολή για την εγκατάσταση του tcpdump είναι:

apt-get install tcpdump

Για CentOS/RedHat, χρησιμοποιήστε την ακόλουθη εντολή:

yum install tcpdump

Το FreeBSD προσφέρει ένα προκατασκευασμένο πακέτο που μπορεί να εγκατασταθεί με την έκδοση:

pkg install tcpdump

Υπάρχει επίσης διαθέσιμη θύρα, η net/tcpdumpοποία μπορεί να εγκατασταθεί μέσω:

cd /usr/ports/net/tcpdump
make install clean

Εάν τρέξετε tcpdumpχωρίς επιχειρήματα, θα χτυπηθείτε με αποτελέσματα. Εκτελώντας το σε μια πρόσφατα περιστρεφόμενη παρουσία εδώ στο Vultr για λιγότερο από πέντε δευτερόλεπτα, δίνονται τα ακόλουθα αποτελέσματα:

2661 packets captured
2663 packets received by filter
0 packets dropped by kernel

Προτού προχωρήσετε σε περισσότερες λεπτομέρειες σχετικά με τον τρόπο φιλτραρίσματος εισόδου, θα πρέπει να ρίξετε μια ματιά σε ορισμένες παραμέτρους που μπορούν να περάσουν στο tcpdump:

  • -i- Καθορίζει τη διεπαφή στην οποία θέλετε να ακούσετε, για παράδειγμα: tcpdump -i eth0.
  • -n- Μην προσπαθήσετε να κάνετε αντίστροφες αναζητήσεις σε διευθύνσεις IP, για παράδειγμα: tcpdump -n(αν προσθέσετε άλλο ntcpdump θα εμφανιστούν αριθμοί θυρών αντί για ονόματα).
  • -X- Εμφάνιση του περιεχομένου των συλλεχθέντων πακέτων: tcpdump -X.
  • -c- Μόνο σύλληψη xπακέτων, καθώς xείναι ένας αυθαίρετος αριθμός, για παράδειγμα tcpdump -c 10συλλαμβάνει ακριβώς 10 πακέτα.
  • -v- Αυξήστε τον όγκο των πληροφοριών πακέτων που εμφανίζονται, περισσότερα vs προσθέτουν περισσότερη πολυγλωσσία.

Κάθε μία από αυτές τις παραμέτρους που αναφέρονται εδώ μπορεί να συνδυαστεί μαζί. Εάν θέλετε να καταγράψετε 100 πακέτα, αλλά μόνο στη διεπαφή VPN tun0, τότε η εντολή tcpdump θα μοιάζει με αυτό:

tcpdump -i tun0 -c 100 -X

Υπάρχουν δεκάδες (αν όχι εκατοντάδες) επιλογές εκτός από αυτές τις λίγες, αλλά είναι οι πιο συνηθισμένες. Μη διστάσετε να διαβάσετε τη σελίδα διαχείρισης του tcpdump στο σύστημά σας.

Τώρα που έχετε μια βασική κατανόηση του tcpdump, ήρθε η ώρα να δούμε ένα από τα πιο εκπληκτικά χαρακτηριστικά του tcpdump: τις εκφράσεις. Οι εκφράσεις θα κάνουν τη ζωή σας πολύ πιο εύκολη. Είναι επίσης γνωστά ως φίλτρα πακέτων BPF ή Berkeley. Η χρήση παραστάσεων σάς επιτρέπει να εμφανίζετε επιλεκτικά (ή να αγνοείτε) πακέτα με βάση ορισμένα χαρακτηριστικά - όπως η προέλευση, ο προορισμός, το μέγεθος ή ακόμα και ο αριθμός ακολουθίας TCP.

Μέχρι στιγμής, έχετε καταφέρει να περιορίσετε την αναζήτησή σας σε έναν συγκεκριμένο αριθμό πακέτων σε μια συγκεκριμένη διεπαφή, αλλά ας είμαστε ειλικρινείς εδώ: αυτό εξακολουθεί να αφήνει πολύ θόρυβο στο φόντο για αποτελεσματική εργασία με τα δεδομένα που συλλέγονται. Εκεί μπαίνουν στο παιχνίδι οι εκφράσεις. Η ιδέα είναι αρκετά απλή, επομένως θα αφήσουμε έξω την ξηρή θεωρία εδώ και θα υποστηρίξουμε την κατανόηση με μερικά πρακτικά παραδείγματα.

Οι εκφράσεις που πιθανότατα θα χρησιμοποιείτε περισσότερο είναι:

  • host - Αναζητήστε επισκεψιμότητα με βάση ονόματα κεντρικών υπολογιστών ή διευθύνσεις IP.
  • srcή dst- Αναζητήστε κίνηση από ή προς έναν συγκεκριμένο κεντρικό υπολογιστή.
  • proto- Αναζητήστε κίνηση ενός συγκεκριμένου πρωτοκόλλου. Λειτουργεί για tcp, udp, icmp και άλλα. protoΕίναι επίσης δυνατή η παράλειψη της λέξης-κλειδιού.
  • net - Αναζητήστε κίνηση προς / από ένα συγκεκριμένο εύρος διευθύνσεων IP.
  • port - Αναζητήστε κίνηση προς / από ένα συγκεκριμένο λιμάνι.
  • greaterή less- Αναζητήστε κίνηση μεγαλύτερη ή μικρότερη από μια συγκεκριμένη ποσότητα byte.

Ενώ η manpage for tcpdumpπερ��έχει μόνο μερικά παραδείγματα, η manpage for pcap-filterέχει πολύ λεπτομερείς εξηγήσεις για το πώς λειτουργεί και μπορεί να εφαρμοστεί κάθε φίλτρο.

Εάν θέλετε να δείτε πώς πηγαίνει η επικοινωνία σας με έναν συγκεκριμένο διακομιστή, μπορείτε να χρησιμοποιήσετε τη hostλέξη-κλειδί, για παράδειγμα (συμπεριλαμβανομένων ορισμένων από τις παραμέτρους από πάνω):

tcpdump -i eth0 host vultr.com

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

tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32

Ίσως μόνο ένα συγκεκριμένο λιμάνι να σας ενδιαφέρει. Σε αυτήν την περίπτωση, χρησιμοποιήστε την portέκφραση:

tcpdump -i eth0 -X port 21

Μπορείτε επίσης να προσέξετε τις περιοχές θυρών:

tcdump -i eth0 -X portrange 22-25

Δεδομένου ότι οι πύλες NAT είναι αρκετά συνηθισμένες, μπορείτε να αναζητήσετε μόνο θύρες προορισμού:

tcpdump dst port 80

Εάν παρακολουθείτε επισκεψιμότητα στον διακομιστή ιστού σας, ίσως θέλετε να δείτε μόνο την επισκεψιμότητα TCP στη θύρα 80:

tcpdump tcp and dst port 80

Πιθανότατα αναρωτιέστε τι κάνει η λέξη-κλειδί andεκεί. Καλή ερώτηση. Αυτό μας φέρνει στο τελευταίο μέρος αυτού του άρθρου.

tcpdump προσφέρει βασική υποστήριξη για λογικές εκφράσεις, πιο συγκεκριμένα:

  • and/ &&- Λογικό «και».
  • or/ ||- Λογικό «ή».
  • not/ !- Λογικό «όχι».

Μαζί με τη δυνατότητα ομαδοποίησης εκφράσεων μαζί, αυτό σας επιτρέπει να δημιουργείτε πολύ ισχυρές αναζητήσεις για εισερχόμενη και εξερχόμενη κίνηση. Ας φιλτράρουμε λοιπόν την κυκλοφορία που προέρχεται από το vultr.com στη θύρα 22 ή 443:

tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)

Εκτελώντας αυτό στη γραμμή εντολών θα εμφανιστεί το ακόλουθο σφάλμα:

bash: syntax error near unexpected token `('

Αυτό συμβαίνει γιατί υπάρχει μια προειδοποίηση: bashπροσπαθεί να αξιολογήσει κάθε χαρακτήρα που μπορεί. Αυτό περιλαμβάνει τους χαρακτήρες (και ). Για να αποφύγετε αυτό το σφάλμα, θα πρέπει να χρησιμοποιήσετε μεμονωμένα εισαγωγικά γύρω από τη συνδυασμένη έκφραση:

tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'

Ένα άλλο χρήσιμο παράδειγμα: Κατά τον εντοπισμό σφαλμάτων σε θέματα SSH με έναν από τους χρήστες σας, μπορεί να θέλετε να αγνοήσετε όλα όσα σχετίζονται με την περίοδο λειτουργίας SSH:

tcpdump '!(host $youripaddress) && port 22)'

Και πάλι, οι περιπτώσεις χρήσης είναι ατελείωτες και μπορείτε να καθορίσετε σε εξαιρετικά βάθη τι είδους κίνηση θέλετε να δείτε. Η ακόλουθη εντολή θα σας δείξει μόνο τα πακέτα SYNACK μιας χειραψίας TCP:

tcpdump -i eth0 'tcp[13]=18'

Αυτό λειτουργεί κοιτάζοντας τη δέκατη τρίτη μετατόπιση της κεφαλίδας TCP και το δέκατο όγδοο byte μέσα σε αυτήν.

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

Τελευταίο αλλά όχι λιγότερο σημαντικό - μια γρήγορη ματιά πίσω. Θυμάστε την αρχή αυτού του άρθρου; Με τα χιλιάδες πακέτα που συλλαμβάνονται μέσα σε λίγα δευτερόλεπτα; Η δύναμη του tcpdumpμπορεί να το μειώσει πολύ:

tcpdump -i eth0 tcp port 22

Το αποτέλεσμα είναι τώρα:

81 packets captured
114 packets received by filter
0 packets dropped by kerne

Αυτό είναι πολύ πιο λογικό και πιο εύκολο στον εντοπισμό σφαλμάτων. Καλή δικτύωση!

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

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

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα