Κατανόηση της διαδικασίας παρακολούθησης
Σήμερα σε αυτή την έκδοση του Geek School θα σας διδάξουμε πώς το βοηθητικό πρόγραμμα Process Monitor σας επιτρέπει να κοιτάξετε κάτω από την κουκούλα και να δείτε τι κάνουν οι αγαπημένες σας εφαρμογές πίσω από τις σκηνές - σε ποια αρχεία έχουν πρόσβαση, τα κλειδιά μητρώου τη χρήση και πολλά άλλα.
ΣΧΟΛΙΚΗ ΠΛΟΗΓΗΣΗ- Ποια είναι τα εργαλεία SysInternals και πώς τα χρησιμοποιείτε?
- Κατανόηση διερεύνησης διεργασιών
- Χρησιμοποιώντας την Εξερεύνηση διεργασιών για την αντιμετώπιση προβλημάτων και τη διάγνωση
- Κατανόηση της διαδικασίας παρακολούθησης
- Χρησιμοποιώντας την Παρακολούθηση διαδικασιών για την αντιμετώπιση προβλημάτων και την εύρεση αμυχών στο μητρώο
- Χρησιμοποιώντας το Autoruns για την αντιμετώπιση των διαδικασιών εκκίνησης και των κακόβουλων προγραμμάτων
- Χρησιμοποιώντας το BgInfo για την εμφάνιση πληροφοριών συστήματος στην επιφάνεια εργασίας
- Χρησιμοποιώντας PsTools για τον έλεγχο άλλων υπολογιστών από τη γραμμή εντολών
- Ανάλυση και διαχείριση αρχείων, φακέλων και μονάδων δίσκου
- Περιτύλιγμα και χρήση των εργαλείων μαζί
Σε αντίθεση με το βοηθητικό πρόγραμμα Process Explorer που καλύψαμε μερικές ημέρες, το Process Monitor πρέπει να είναι μια παθητική ματιά σε ό, τι συμβαίνει στον υπολογιστή σας, όχι ένα ενεργό εργαλείο για διαδικασίες θανάτωσης ή λαβές κλεισίματος. Αυτό είναι σαν να ρίξετε μια ματιά σε ένα παγκόσμιο αρχείο καταγραφής για κάθε ένα συμβάν που συμβαίνει στον υπολογιστή σας Windows.
Θέλετε να καταλάβετε ποια κλειδιά μητρώου η αγαπημένη σας εφαρμογή αποθηκεύει στην πραγματικότητα τις ρυθμίσεις τους; Θέλετε να μάθετε τι αρχεία αγγίζει μια υπηρεσία και πόσο συχνά; Θέλετε να δείτε πότε μια εφαρμογή συνδέεται στο δίκτυο ή ανοίγει μια νέα διαδικασία; Είναι η διαδικασία παρακολούθησης για τη διάσωση.
Δεν κάνουμε πια πολλά άρθρα hack μητρώου, αλλά όταν ξεκινήσαμε αρχικά, θα χρησιμοποιούσαμε τον Process Monitor για να καταλάβουμε ποια κλειδιά μητρώου προσεγγίζονταν και μετά πήγαιναν τα κλειδιά του μητρώου για να δουν τι θα συμβεί. Εάν έχετε αναρωτηθεί ποτέ πώς κάποιος geek βρήκε ένα hack μητρώου που κανείς δεν έχει δει ποτέ, ήταν πιθανότατα μέσω του Process Monitor.
Το βοηθητικό πρόγραμμα Process Monitor δημιουργήθηκε συνδυάζοντας δύο διαφορετικές βοηθητικές εφαρμογές παλιού σχολείου, το Filemon και το Regmon, οι οποίες χρησιμοποιήθηκαν για την παρακολούθηση των αρχείων και της δραστηριότητας μητρώου, όπως υποδηλώνουν τα ονόματά τους. Ενώ αυτά τα βοηθητικά προγράμματα είναι ακόμα διαθέσιμα εκεί έξω και ενώ μπορεί να ταιριάζουν στις ιδιαίτερες ανάγκες σας, θα είστε πολύ καλύτερα με το Process Monitor, επειδή μπορεί να χειριστεί ένα μεγάλο όγκο γεγονότων καλύτερα επειδή έχει σχεδιαστεί για να το κάνει.
Αξίζει επίσης να σημειωθεί ότι το Process Monitor απαιτεί πάντα λειτουργία διαχειριστή επειδή φορτώνει έναν οδηγό πυρήνα κάτω από την κουκούλα για να καταγράψει όλα αυτά τα συμβάντα. Στα Windows Vista και αργότερα, θα σας ζητηθεί παράθυρο διαλόγου UAC, αλλά για XP ή 2003, θα πρέπει να βεβαιωθείτε ότι ο λογαριασμός που χρησιμοποιείτε έχει δικαιώματα διαχειριστή.
Τα συμβάντα που καταγράφουν τη λειτουργία παρακολούθησης οθόνης
Το Process Monitor καταγράφει έναν τόνο δεδομένων, αλλά δεν καταγράφει όλα τα πράγματα που συμβαίνουν στον υπολογιστή σας. Για παράδειγμα, η διαδικασία παρακολούθησης δεν ενδιαφέρει αν μετακινήσετε το ποντίκι σας γύρω και δεν γνωρίζει αν οι οδηγοί σας λειτουργούν άριστα. Δεν πρόκειται να εντοπίσετε ποιες διαδικασίες είναι ανοιχτές και ότι σπαταλάτε CPU στον υπολογιστή σας - αυτή είναι η δουλειά του Process Explorer, μετά από όλα.
Αυτό που κάνει είναι να συλλαμβάνει συγκεκριμένους τύπους λειτουργιών I / O (Input / Output), είτε συμβαίνουν μέσω του συστήματος αρχείων, του μητρώου ή ακόμα και του δικτύου. Επιπλέον, θα παρακολουθεί μερικά άλλα γεγονότα με περιορισμένο τρόπο. Αυτή η λίστα καλύπτει τα συμβάντα που συλλαμβάνει:
- Αρχείο - αυτό θα μπορούσε να δημιουργεί κλειδιά, να τα διαβάζει, να τα διαγράφει ή να τα ερωτάει. Θα εκπλαγείτε πόσο συχνά συμβαίνει αυτό.
- Σύστημα αρχείων - αυτό θα μπορούσε να είναι η δημιουργία αρχείων, η εγγραφή, η διαγραφή κ.λπ., και μπορεί να είναι τόσο για τους τοπικούς σκληρούς δίσκους όσο και για τους δίσκους δικτύου.
- Δίκτυο - αυτό θα δείξει την πηγή και τον προορισμό της κυκλοφορίας TCP / UDP, αλλά δυστυχώς δεν εμφανίζει τα δεδομένα, καθιστώντας το λίγο λιγότερο χρήσιμο.
- Επεξεργάζομαι, διαδικασία - Αυτά είναι συμβάντα για διαδικασίες και θέματα στα οποία ξεκινά μια διαδικασία, ένα νήμα ξεκινάει ή εξέρχεται κλπ. Αυτό μπορεί να είναι χρήσιμες πληροφορίες σε ορισμένες περιπτώσεις, αλλά είναι συχνά κάτι που θα θέλατε να κοιτάξετε στο Process Explorer αντί.
- Προφίλ - Αυτά τα συμβάντα καταγράφονται από το Process Monitor για να ελέγξετε την ποσότητα χρόνου επεξεργαστή που χρησιμοποιείται από κάθε διαδικασία και τη χρήση της μνήμης. Πάλι, ίσως θέλετε να χρησιμοποιήσετε τον Process Explorer για τον εντοπισμό αυτών των πραγμάτων τις περισσότερες φορές, αλλά είναι χρήσιμο εδώ αν το χρειάζεστε.
Επομένως, το Process Monitor μπορεί να καταγράψει κάθε είδους λειτουργία εισόδου / εξόδου, ανεξάρτητα από το αν αυτό συμβαίνει μέσω του μητρώου, του συστήματος αρχείων ή ακόμα και του δικτύου - αν και δεν καταγράφονται τα πραγματικά δεδομένα που γράφονται. Απλώς εξετάζουμε το γεγονός ότι μια διαδικασία γράφει σε ένα από αυτά τα ρεύματα, έτσι ώστε να μπορέσουμε αργότερα να καταλάβουμε περισσότερα για το τι συμβαίνει.
Η διεπαφή παρακολούθησης διεργασίας
Όταν φορτώνετε για πρώτη φορά τη διεπαφή της Διεργασίας Ελέγχου, θα παρουσιαστεί ένας τεράστιος αριθμός σειρών δεδομένων, με περισσότερα δεδομένα να πετούν γρήγορα και μπορεί να είναι συντριπτική. Το κλειδί είναι να έχετε κάποια ιδέα, τουλάχιστον, για το τι βλέπετε, καθώς και για αυτό που ψάχνετε. Αυτός δεν είναι ο τύπος του εργαλείου που περνάτε μια ξεκούραστη μέρα περιήγησης, διότι μέσα σε ένα πολύ σύντομο χρονικό διάστημα, θα κοιτάξετε εκατομμύρια σειρές.
Το πρώτο πράγμα που θα θελήσετε να κάνετε είναι να φιλτράρετε αυτά τα εκατομμύρια σειρών κάτω από το πολύ μικρότερο υποσύνολο δεδομένων που θέλετε να δείτε και θα σας διδάξουμε πώς να δημιουργείτε φίλτρα και μηδενίστε ακριβώς αυτό που θέλετε να βρείτε . Αλλά πρώτα, πρέπει να καταλάβετε τη διεπαφή και ποια δεδομένα είναι πραγματικά διαθέσιμα.
Κοιτάζοντας τις προεπιλεγμένες στήλες
Οι προεπιλεγμένες στήλες δείχνουν έναν τόνο χρήσιμων πληροφοριών, αλλά σίγουρα θα χρειαστεί κάποιο πλαίσιο για να καταλάβετε ποια δεδομένα περιέχει το καθένα, γιατί κάποια από αυτά μπορεί να μοιάζουν με κάτι κακό που συνέβη όταν είναι πραγματικά αθώα γεγονότα που συμβαίνουν συνεχώς κάτω από κουκούλα. Εδώ ακολουθεί η χρήση των προεπιλεγμένων στηλών για:
- χρόνος - αυτή η στήλη είναι αρκετά αυτονόητη, δείχνει την ακριβή ώρα που συνέβη ένα συμβάν.
- Όνομα διαδικασίας - το όνομα της διαδικασίας που δημιούργησε το συμβάν. Αυτό δεν δείχνει την πλήρη διαδρομή προς το αρχείο από προεπιλογή, αλλά αν περάσετε πάνω από το πεδίο μπορείτε να δείτε ακριβώς ποια διαδικασία ήταν.
- PID - το αναγνωριστικό διαδικασίας της διαδικασίας που δημιούργησε το συμβάν. Αυτό είναι πολύ χρήσιμο αν προσπαθείτε να καταλάβετε ποια διαδικασία svchost.exe δημιούργησε το συμβάν. Είναι επίσης ένας πολύ καλός τρόπος για να απομονώσετε μια ενιαία διαδικασία παρακολούθησης, υποθέτοντας ότι η διαδικασία δεν επανεκκινήθηκε.
- Λειτουργία - αυτό είναι το όνομα της λειτουργίας που καταγράφεται και υπάρχει ένα εικονίδιο που ταιριάζει με έναν από τους τύπους συμβάντων (μητρώο, αρχείο, δίκτυο, διαδικασία). Αυτά μπορεί να είναι λίγο συγκεχυμένα, όπως το RegQueryKey ή το WriteFile, αλλά θα προσπαθήσουμε να σας βοηθήσουμε μέσω της σύγχυσης.
- Μονοπάτι - αυτό δεν είναι ο δρόμος της διαδικασίας, είναι ο δρόμος σε ό, τι έχει γίνει με αυτό το γεγονός. Για παράδειγμα, εάν υπήρχε ένα συμβάν WriteFile, αυτό το πεδίο θα εμφανίσει το όνομα του αρχείου ή του φακέλου που αγγίζετε. Εάν αυτό ήταν ένα συμβάν μητρώου, θα εμφανίζονταν πρόσβαση στο πλήρες κλειδί.
- Αποτέλεσμα - Αυτό δείχνει το αποτέλεσμα της λειτουργίας, η οποία κωδικοποιεί ως SUCCESS ή ACCESS DENIED. Παρόλο που ενδέχεται να μπείτε στον πειρασμό να υποθέσετε αυτόματα ότι ένα BUFFER TOO SMALL σημαίνει ότι συνέβη κάτι πολύ κακό, αυτό δεν συμβαίνει συνήθως τις περισσότερες φορές.
- Λεπτομέρεια - πρόσθετες πληροφορίες που συχνά δεν μεταφράζονται στον κανονικό κόσμο αντιμετώπισης προβλημάτων.
Μπορείτε επίσης να προσθέσετε μερικές επιπλέον στήλες στην προεπιλεγμένη εμφάνιση μεταβαίνοντας στις Επιλογές -> Επιλογή Στήλων. Αυτό δεν θα ήταν η σύστασή μας για την πρώτη στάση σας όταν ξεκινήσατε τις δοκιμές, αλλά επειδή εξηγούμε στήλες, αξίζει να αναφέρουμε ήδη.
Ένας από τους λόγους για την προσθήκη επιπλέον στηλών στην οθόνη είναι έτσι ώστε να μπορείτε γρήγορα να φιλτράρετε από αυτά τα συμβάντα χωρίς να είστε συγκλονισμένοι με δεδομένα. Εδώ είναι μερικές από τις επιπλέον στήλες που χρησιμοποιούμε, αλλά μπορείτε να βρείτε τη χρήση για μερικούς άλλους στη λίστα ανάλογα με την κατάσταση.
- Γραμμή εντολών - ενώ μπορείτε να κάνετε διπλό κλικ σε οποιοδήποτε συμβάν για να δείτε τα επιχειρήματα της γραμμής εντολών για τη διαδικασία που δημιούργησε κάθε συμβάν, μπορεί να είναι χρήσιμο να δείτε με μια γρήγορη ματιά όλες τις επιλογές.
- Όνομα εταιρείας - ο κύριος λόγος ότι αυτή η στήλη είναι χρήσιμη είναι έτσι ώστε να μπορείτε να αποκλείσετε γρήγορα όλα τα συμβάντα της Microsoft γρήγορα και να περιορίσετε την παρακολούθησή σας σε οτιδήποτε άλλο δεν είναι μέρος των Windows. (Θα θελήσετε να βεβαιωθείτε ότι δεν έχετε παράξενες διεργασίες rundll32.exe που εκτελούνται με τη χρήση του Process Explorer αν και αυτές θα μπορούσαν να κρύβουν κακόβουλο λογισμικό).
- Γονικό PID - αυτό μπορεί να είναι πολύ χρήσιμο όταν αντιμετωπίζετε προβλήματα με μια διαδικασία που περιέχει πολλές παιδικές διεργασίες, όπως ένα πρόγραμμα περιήγησης ιστού ή μια εφαρμογή που συνεχίζει να ξεκινάει τα σκανδαλώδη πράγματα ως μια άλλη διαδικασία. Μπορείτε στη συνέχεια να φιλτράρετε από το γονικό PID για να βεβαιωθείτε ότι έχετε καταγράψει τα πάντα.
Αξίζει να σημειωθεί ότι μπορείτε να φιλτράρετε τα στοιχεία της στήλης ακόμα και αν η στήλη δεν εμφανίζεται, αλλά είναι πολύ πιο εύκολο να κάνετε δεξί κλικ και να φιλτράρετε από ό, τι χειροκίνητα. Και ναι, αναφέραμε ξανά τα φίλτρα, παρόλο που δεν τα εξηγήσαμε ακόμα.
Εξετάζοντας ένα ενιαίο συμβάν
Η προβολή των πραγμάτων σε μια λίστα είναι ένας πολύ καλός τρόπος για να δείτε γρήγορα πολλά διαφορετικά σημεία δεδομένων ταυτόχρονα, αλλά σίγουρα δεν είναι ο ευκολότερος τρόπος να εξετάσετε ένα μόνο κομμάτι δεδομένων και υπάρχουν μόνο τόσα πολλά στοιχεία που μπορείτε να δείτε στην λίστα. Ευτυχώς, μπορείτε να κάνετε διπλό κλικ σε οποιαδήποτε εκδήλωση για να αποκτήσετε πρόσβαση σε ένα θησαυρό πρόσθετων πληροφοριών.
Η προεπιλεγμένη καρτέλα συμβάν σας δίνει πληροφορίες που είναι σε μεγάλο βαθμό παρόμοιες με αυτές που εμφανίζονται στη λίστα, αλλά θα προσθέσετε λίγο περισσότερο πληροφορίες στο κόμμα. Εάν εξετάζετε ένα συμβάν συστήματος αρχείων, θα μπορείτε να βλέπετε ορισμένες πληροφορίες όπως τα χαρακτηριστικά, το χρόνο δημιουργίας αρχείου, την πρόσβαση που επιχειρήθηκε κατά τη διάρκεια μιας εγγραφής, τον αριθμό των byte που γράφτηκε και τη διάρκεια.
Εάν μεταβείτε στην καρτέλα Διαδικασία, θα βρείτε πολλές πληροφορίες σχετικά με τη διαδικασία που δημιούργησε το συμβάν. Ενώ γενικά θέλετε να χρησιμοποιήσετε τον Process Explorer για να αντιμετωπίσετε τις διαδικασίες, μπορεί να είναι πολύ χρήσιμο να έχετε πολλές πληροφορίες σχετικά με τη συγκεκριμένη διαδικασία που δημιούργησε ένα συγκεκριμένο γεγονός, ειδικά αν είναι κάτι που συνέβη πολύ γρήγορα και στη συνέχεια εξαφανίστηκε από λίστα επεξεργασιών. Με αυτόν τον τρόπο συλλαμβάνονται τα δεδομένα.
Η καρτέλα Στοίβα είναι κάτι που μερικές φορές θα είναι εξαιρετικά χρήσιμο, αλλά συχνά οι χρόνοι δεν θα είναι καθόλου χρήσιμοι. Ο λόγος για τον οποίο θα θέλατε να εξετάσετε τη στοίβα είναι να μπορείτε να αντιμετωπίσετε προβλήματα εξετάζοντας τη στήλη Module για οτιδήποτε δεν φαίνεται σωστό.
Για παράδειγμα, φανταστείτε ότι μια διαδικασία προσπαθούσε συνεχώς να ερωτάει ή να αποκτά πρόσβαση σε ένα αρχείο που δεν υπάρχει, αλλά δεν ήσαστε σίγουρος γιατί. Θα μπορούσατε να κοιτάξετε μέσα από την καρτέλα Stack και να δείτε αν υπήρχαν μονάδες που δεν έμοιαζαν σωστά και στη συνέχεια να τις ερευνήσετε. Ενδέχεται να διαπιστώσετε ότι ένα παρωχημένο στοιχείο, ή ακόμα και κακόβουλο λογισμικό, προκαλεί το πρόβλημα.
Ή, μπορεί να διαπιστώσετε ότι δεν υπάρχει τίποτα χρήσιμο εδώ για σας, και αυτό είναι πολύ ωραίο επίσης. Υπάρχουν πολλά άλλα δεδομένα που πρέπει να εξετάσουμε.
Σημειώσεις για υπερχείλιση buffer
Πριν προχωρήσουμε ακόμη περισσότερο, θα θέλαμε να σημειώσουμε έναν κώδικα αποτελεσμάτων που θα αρχίσετε να βλέπετε πολλά στον κατάλογο και με βάση όλες τις γνώσεις σας μέχρι στιγμής, ίσως να ξεφύγετε λίγο. Αν λοιπόν αρχίσετε να βλέπετε το BUFFER OVERFLOW στη λίστα, μην υποθέσετε ότι κάποιος προσπαθεί να χάσει τον υπολογιστή σας.
Επόμενη σελίδα: Φιλτράρισμα των δεδομένων που συλλαμβάνει η οθόνη παρακολούθησης