Εσωτερικά και εξωτερικά πακέτα σε σύλληψη VPN: γιατί διαφέρουν τα μεγέθη
Η μία σύλληψη βλέπει απλό κείμενο στη διεπαφή της σήραγγας, η άλλη βλέπει κρυπτογραφημένα πλαίσια στο καλώδιο. Διαβάστε και τις δύο πριν κατηγορήσετε το MTU.
Καταγράφετε πακέτα των 1400 byte στη διεπαφή της σήραγγας, καταγράφετε ξανά στη φυσική, και οι αριθμοί δεν συμφωνούν. Οι διευθύνσεις διαφέρουν, τα μεγέθη διαφέρουν, και το δεύτερο αρχείο μοιάζει με άλλη συνομιλία. Τίποτα δεν είναι χαλασμένο. Δύο διαφορετικά πακέτα κάθονται σε δύο διαφορετικά επίπεδα, και το κενό μεταξύ τους είναι αυτό που κάνει η σήραγγα στην κίνησή σας. Διαβάστε και τις δύο όψεις πριν κατηγορήσετε το MTU.
Δύο οπτικές γωνίες και το πακέτο που δείχνει καθεμία
Μια σύλληψη που λαμβάνεται στη διεπαφή της σήραγγας δείχνει το εσωτερικό πακέτο: το ωφέλιμο φορτίο της εφαρμογής με την αρχική πηγή και τον προορισμό του, πριν εφαρμοστεί οποιαδήποτε προστασία. Μια σύλληψη στη φυσική διεπαφή δείχνει το εξωτερικό πακέτο: μια κεφαλίδα IP, μια κεφαλίδα μεταφοράς, την ενθυλάκωση, και έπειτα το κρυπτογραφημένο εσωτερικό πακέτο ως ωφέλιμο φορτίο. Ίδια συνομιλία, διαφορετικά αντικείμενα. Μόλις ονομάσετε ποιο από τα δύο περιέχει το αρχείο, η αναντιστοιχία παύει να είναι μυστήριο.
Η διαφορά μεγέθους είναι επιβάρυνση, και η διαφορά διεύθυνσης είναι σχεδιασμός. Αντιστρέψτε το και η σύγχυση γίνεται προβλέψιμη: άνθρωποι συγκρίνουν ένα εσωτερικό πακέτο 1400 byte με ένα εξωτερικό 1450 byte, αποφασίζουν ότι κάτι πάει στραβά, και αρχίζουν να αλλάζουν ρυθμίσεις MTU που ποτέ δεν έφταιγαν. Επισημάνετε το αρχείο με τη διεπαφή και το επίπεδο, γιατί αυτή η ετικέτα είναι το πρώτο που χρειάζεται ένας αναγνώστης και το πρώτο που παραλείπουν οι άνθρωποι.
Αποφασίστε το επίπεδο πριν ξεκινήσετε τη σύλληψη
Αποφασίστε ποιο επίπεδο απαντά στην ερώτησή σας πριν γραφτεί το πρώτο πακέτο. Μια ερώτηση για το MTU χρειάζεται συνήθως την εξωτερική όψη, γιατί εκεί συσσωρεύονται οι κεφαλίδες και εκεί φαίνεται το όριο της διαδρομής. Μια ερώτηση εφαρμογής χρειάζεται συνήθως την εσωτερική όψη, γιατί εκεί υπάρχει ακόμη το ωφέλιμο φορτίο που σας ενδιαφέρει. Η καταγραφή και των δύο χωρίς σχέδιο δίνει δύο αρχεία και κανένα συμπέρασμα.
Χρησιμοποιήστε μια αβλαβή, εξουσιοδοτημένη δοκιμή και φιλτράρετε στην πηγή, τον προορισμό και τον χρόνο που σας ενδιαφέρουν. Διαβάστε τη διεπαφή και τις επιλογές φίλτρου του εργαλείου καταγραφής πριν από τη συλλογή, γιατί τα μεταδεδομένα συνήθως αρκούν και είναι πολύ ευκολότερο να μοιραστούν από το ωφέλιμο φορτίο. Αντιμετωπίστε την εσωτερική καταγραφή ως ευαίσθητη εξ ορισμού, γιατί περιέχει μη κρυπτογραφημένα δεδομένα εφαρμογών που προστατεύονται μόνο πιο πέρα στη διαδρομή.
Τι περιέχει στην πραγματικότητα η διαφορά μεγέθους
Το εξωτερικό πακέτο μεταφέρει επιπλέον κεφαλίδες και υλικό προστασίας, και το πόσο μεταφέρει εξαρτάται από το πρωτόκολλο και τις επιλογές του. Ο κατακερματισμός, η συγκέντρωση ή η αναδιάταξη κατά μήκος της διαδρομής μπορούν να σπάσουν την φαινομενική σχέση ένα προς ένα μεταξύ ενός εσωτερικού πακέτου και των εξωτερικών πακέτων που το μεταφέρουν, οπότε μια σύγκριση μέγεθος προς μέγεθος δεν είναι πάντα διαθέσιμη. Για ύποπτη βλάβη MTU, αναζητήστε ανατροφοδότηση μεγέθους και το σημείο όπου σταματά η κίνηση, και έπειτα συγκρίνετε το με αυτό που αναφέρει η εφαρμογή. Ένα μοτίβο επαναμετάδοσης χωρίς απάντηση είναι διαφορετικό σήμα από ένα σφάλμα ICMP που μεταφέρει το μέγεθος του επόμενου άλματος.
Ένα μόνο πακέτο που φεύγει από τον κεντρικό υπολογιστή δεν αποδεικνύει τίποτα για το αν το έλαβε το απομακρυσμένο άκρο. Αν η καταγραφή σας τελειώνει στη δική σας διεπαφή, έχετε δείξει ότι ο πυρήνας έστειλε κάτι, που είναι η ασθενέστερη διαθέσιμη απόδειξη για τη διαδρομή. Συνδυάστε την καταγραφή με ένα επαναλήψιμο σύμπτωμα: ίδιος προορισμός, ίδια λειτουργία, ίδιο μέγεθος, εκτελεσμένο δύο φορές με μία μεταβλητή αλλαγμένη.
Διαβάζοντας το offload μέσα στους αριθμούς
Ο κατακερματισμός στην πλευρά του κεντρικού υπολογιστή και άλλα offload προσθέτουν μια δεύτερη παραμόρφωση, και αυτή είναι που κάνει τις τοπικές καταγραφές να διαφωνούν με το καλώδιο. Μια τοπική καταγραφή μπορεί να δείξει buffer που ο προσαρμογέας χωρίζει αργότερα, οπότε τα πλαίσια στη ζεύξη είναι μικρότερα και περισσότερα απ' ό,τι υποδηλώνει το αρχείο. Γι' αυτό ένα μεγάλο buffer στο αρχείο καταγραφής δεν αποδεικνύει ότι ένα υπερμέγεθες πλαίσιο πέρασε από κάθε ζεύξη. Αν τα μεγέθη μετράνε για το συμπέρασμά σας, καταγράψτε πού ελήφθη η καταγραφή και αν το offload ήταν ενεργό σε εκείνη τη διεπαφή.
Διαφορετικά μετράτε την ευκολία του κεντρικού υπολογιστή και όχι τη συμπεριφορά της διαδρομής. Δύο αρχεία με ετικέτα διεπαφής και κατάστασης offload λύνουν τις περισσότερες από αυτές τις διαφωνίες σε ένα λεπτό.
Πού η καταγραφή παύει να είναι απόδειξη
Το να βλέπετε κρυπτογραφημένα εξωτερικά πακέτα δείχνει ότι υπάρχει όριο προστασίας υπό αυτές τις συνθήκες δοκιμής, και δεν λέει τίποτα για άλλες εφαρμογές στη συσκευή, για τον χειρισμό του παρόχου ή για την κατάσταση του ίδιου του τελικού σημείου. Το να βλέπετε απλό κείμενο μέσα στη σήραγγα επίσης δεν σημαίνει ότι η σήραγγα είναι χαλασμένη, σημαίνει ότι καταγράψατε πάνω από το σημείο κρυπτογράφησης, που είναι νόμιμο σημείο για να κοιτάξετε. Μια καταγραφή είναι απόδειξη για έναν τόπο, όχι ετυμηγορία για ένα σύστημα, και το δελτίο πρέπει να την περιγράφει έτσι. Κρατήστε την πρόταση εμβέλειας στην αναφορά, γιατί αυτή εμποδίζει μια μεμονωμένη παρατήρηση να γίνει ισχυρισμός ελέγχου.
Ονομάστε κάθε αρχείο με τη διεπαφή, το φίλτρο και τη χρονική σήμανσή του, και διαγράψτε το όταν τελειώσει η έρευνα. Το εγχειρίδιο του tcpdump τεκμηριώνει τις σημαίες διεπαφής και φίλτρου που χρησιμοποιούνται εδώ, συμπεριλαμβανομένων εκείνων που κρατούν μια καταγραφή μικρή.
Αν πρέπει να μοιραστείτε αποδείξεις, μοιραστείτε μεγέθη, χρονικές σημάνσεις και σημαίες αντί για το ωφέλιμο φορτίο. Η ερώτηση αφορούσε το μέγεθος του πακέτου, και η απάντηση σπάνια χρειάζεται τα δεδομένα κάποιου.