Τι πρέπει να γνωρίζετε
- Για να εκτελέσετε το netstat και να δείτε λεπτομερή δεδομένα σχετικά με το δίκτυο του Mac σας, ανοίξτε ένα νέο παράθυρο Terminal, πληκτρολογήστε netstat και πατήστεEnter.
- Περιορίστε την έξοδο του netstat με σημαίες και επιλογές. Για να δείτε τις διαθέσιμες επιλογές του netstat, πληκτρολογήστε man netstat στη γραμμή εντολών.
- Χρησιμοποιήστε την εντολή lsof για να αναπληρώσετε την έλλειψη ή την περιορισμένη λειτουργικότητα του netstat, συμπεριλαμβανομένης της εμφάνισης τυχόν αρχείων που είναι ανοιχτά αυτήν τη στιγμή σε οποιεσδήποτε εφαρμογές.
Αυτό το άρθρο εξηγεί πώς να εκτελείτε την εντολή netstat Terminal στο macOS, ώστε να μπορείτε να βλέπετε λεπτομερείς πληροφορίες σχετικά με τις επικοινωνίες δικτύου του Mac σας, συμπεριλαμβανομένων των τρόπων που μιλά ο Mac σας στον έξω κόσμο, σε όλες τις θύρες και όλες τις εφαρμογές.
Πώς να εκτελέσετε το Netstat
Μαθαίνοντας πώς να χρησιμοποιείτε το netstat μπορεί να σας βοηθήσει να κατανοήσετε τις συνδέσεις που πραγματοποιεί ο υπολογιστής σας και γιατί. Η εντολή netstat είναι διαθέσιμη σε Mac από προεπιλογή. Δεν χρειάζεται να το κατεβάσετε ή να το εγκαταστήσετε.
Για να εκτελέσετε το netstat:
-
Μετάβαση στο Finder > Μετάβαση > Utilities.
-
Κάντε διπλό κλικ Terminal.
-
Στο νέο παράθυρο τερματικού, πληκτρολογήστε netstat και πατήστε Return (ή Enter) για να εκτελέσετε την εντολή.
-
Ένας τεράστιος όγκος κειμένου θα αρχίσει να κυλάει στην οθόνη σας. Εάν δεν χρησιμοποιείτε καμία από τις διαθέσιμες σημαίες (δείτε παρακάτω), το netstat αναφέρει τις ενεργές συνδέσεις δικτύου στο Mac σας. Λαμβάνοντας υπόψη τον αριθμό των λειτουργιών που εκτελεί μια σύγχρονη συσκευή δικτύου, μπορείτε να περιμένετε ότι η λίστα θα είναι μεγάλη. Μια τυπική αναφορά μπορεί να τρέξει πάνω από 1.000 γραμμές.
Σημαίες και επιλογές Netstat
Το φιλτράρισμα της εξόδου του netstat είναι απαραίτητο για την κατανόηση του τι συμβαίνει στις ενεργές θύρες του Mac σας. Οι ενσωματωμένες σημαίες του Netstat σάς επιτρέπουν να ορίζετε επιλογές, περιορίζοντας το εύρος της εντολής.
Για να δείτε όλες τις διαθέσιμες επιλογές του netstat, πληκτρολογήστε man netstat στη γραμμή εντολών για να αποκαλύψετε τη σελίδα man του netstat (συντομογραφία για "εγχειρίδιο"). Μπορείτε επίσης να δείτε μια διαδικτυακή έκδοση της σελίδας man του netstat.
Σύνταξη
Είναι σημαντικό να σημειωθεί ότι το netstat στο macOS δεν λειτουργεί με τον ίδιο τρόπο όπως το netstat σε Windows και Linux. Η χρήση σημαιών ή σύνταξης από αυτές τις υλοποιήσεις του netstat ενδέχεται να μην έχει ως αποτέλεσμα την αναμενόμενη συμπεριφορά.
Για να προσθέσετε σημαίες και επιλογές στο netstat στο macOS, χρησιμοποιήστε την ακόλουθη σύνταξη:
netstat [-AabdgiLlmnqrRsSvWx] [-c ουρά] [-f address_family] [-I interface] [-p πρωτόκολλο] [-w αναμονή]
Αν η παραπάνω συντομογραφία φαίνεται εντελώς ακατανόητη, μάθετε πώς να διαβάζετε τη σύνταξη εντολών.
Χρήσιμες σημαίες
Εδώ είναι μερικές από τις πιο συχνά χρησιμοποιούμενες σημαίες:
- - a περιλαμβάνει θύρες διακομιστή στην έξοδο του netstat, οι οποίες δεν περιλαμβάνονται στην προεπιλεγμένη έξοδο.
- - g εμφανίζει πληροφορίες που σχετίζονται με συνδέσεις πολλαπλής διανομής.
- - I παρέχει δεδομένα πακέτων για την καθορισμένη διεπαφή. Όλες οι διαθέσιμες διεπαφές μπορούν να προβληθούν με τη σημαία - i, αλλά το en0 είναι συνήθως η προεπιλεγμένη διεπαφή εξερχόμενου δικτύου. (Σημειώστε το πεζό γράμμα.)
- - n καταστέλλει την ετικέτα των απομακρυσμένων διευθύνσεων με ονόματα. Αυτό επιταχύνει την έξοδο του netstat ενώ εξαλείφει μόνο περιορισμένες πληροφορίες.
- - p παραθέτει την κίνηση που σχετίζεται με ένα συγκεκριμένο πρωτόκολλο δικτύου. Η πλήρης λίστα των πρωτοκόλλων είναι διαθέσιμη στο /etc/protocols, αλλά τα πιο σημαντικά είναι τα udp και tcp.
- - r εμφανίζει τον πίνακα δρομολόγησης, δείχνοντας πώς δρομολογούνται τα πακέτα γύρω από το δίκτυο.
- - s εμφανίζει τα στατιστικά στοιχεία δικτύου για όλα τα πρωτόκολλα, ανεξάρτητα από το αν τα πρωτόκολλα είναι ενεργά ή όχι.
- - v αυξάνει την πολυγλωσσία, ειδικά προσθέτοντας μια στήλη που δείχνει το αναγνωριστικό διεργασίας (PID) που σχετίζεται με κάθε ανοιχτή θύρα.
Η διεπαφή
Το
Το πρωτόκολλο
Το
Το
Παραδείγματα Netstat
Σκεφτείτε αυτά τα παραδείγματα:
netstat -apv TCP
Αυτή η εντολή επιστρέφει μόνο συνδέσεις TCP στο Mac σας, συμπεριλαμβανομένων των ανοιχτών θυρών και των ενεργών θυρών. Χρησιμοποιεί επίσης αναλυτική έξοδο, παραθέτοντας τα PID που σχετίζονται με κάθε σύνδεση.
netstat -a | grep -i "ακούω"
Αυτός ο συνδυασμός netstat και grep αποκαλύπτει ανοιχτές θύρες, οι οποίες είναι θύρες που ακούν ένα μήνυμα. Ο χαρακτήρας σωλήνα | στέλνει την έξοδο μιας εντολής σε μια άλλη εντολή. Εδώ, η έξοδος των netstat σωλήνων σε grep, σας επιτρέπει να αναζητήσετε τη λέξη-κλειδί "ακούω" και να βρείτε τα αποτελέσματα.
Πρόσβαση στο Netstat μέσω του βοηθητικού προγράμματος δικτύου
Μπορείτε επίσης να αποκτήσετε πρόσβαση σε ορισμένες από τις λειτουργίες του netstat μέσω της εφαρμογής Network Utility, η οποία περιλαμβάνεται σε εκδόσεις macOS έως και Catalina (δεν περιλαμβάνεται στο Big Sur).
Για να μεταβείτε στο Network Utility, πληκτρολογήστε Network Utility στην Αναζήτηση Spotlight για να εκκινήσετε την εφαρμογή και, στη συνέχεια, επιλέξτε την καρτέλα Netstat για πρόσβαση στο γραφική διεπαφή.
Οι επιλογές στο Network Utility είναι πιο περιορισμένες από αυτές που είναι διαθέσιμες μέσω της γραμμής εντολών. Κάθε μία από τις τέσσερις επιλογές κουμπιών επιλογής εκτελεί μια προκαθορισμένη εντολή netstat και εμφανίζει την έξοδο.
Οι εντολές netstat για κάθε κουμπί επιλογής είναι οι εξής:
- Εμφάνιση πληροφοριών πίνακα δρομολόγησης εκτελέσεις netstat -r.
- Εμφάνιση ολοκληρωμένων στατιστικών στοιχείων δικτύου για κάθε πρωτόκολλο εκτελέσεις netstat -s.
- Εμφάνιση πληροφοριών πολλαπλής μετάδοσης εκτελέσεις netstat -g.
- Εμφάνιση της κατάστασης όλων των τρεχουσών συνδέσεων υποδοχής εκτελέσεις netstat.
Συμπλήρωση Netstat με Lsof
Η εφαρμογή macOS του netstat δεν περιλαμβάνει πολλές από τις λειτουργίες που περιμένουν και χρειάζονται οι χρήστες. Αν και έχει τις χρήσεις του, το netstat δεν είναι τόσο χρήσιμο στο macOS όσο στα Windows. Μια διαφορετική εντολή, lsof, αντικαθιστά μεγάλο μέρος της λειτουργικότητας που λείπει.
Το
Lsof εμφανίζει αρχεία που είναι ανοιχτά αυτήν τη στιγμή σε εφαρμογές. Μπορείτε επίσης να το χρησιμοποιήσετε για να επιθεωρήσετε ανοιχτές θύρες που σχετίζονται με την εφαρμογή. Εκτελέστε lsof -i για να δείτε τη λίστα των εφαρμογών που επικοινωνούν μέσω Διαδικτύου. Αυτός είναι συνήθως ο στόχος όταν χρησιμοποιείτε το netstat σε υπολογιστές με Windows. Ωστόσο, ο μόνος ουσιαστικός τρόπος για να ολοκληρώσετε αυτήν την εργασία στο macOS δεν είναι με το netstat, αλλά με το lsof.
Lsof Flags and Options
Η εμφάνιση κάθε ανοιχτού αρχείου ή σύνδεσης στο διαδίκτυο είναι συνήθως περίπλοκη. Γι' αυτό το lsof συνοδεύεται από σημαίες για περιορισμό αποτελεσμάτων με συγκεκριμένα κριτήρια. Τα πιο σημαντικά είναι παρακάτω.
Για πληροφορίες σχετικά με περισσότερες σημαίες και τεχνικές επεξηγήσεις για το καθένα, ανατρέξτε στη σελίδα man του lsof ή εκτελέστε το man lsof σε μια προτροπή τερματικού.
Το
Το
Το
lsof Examples
Ακολουθούν μερικοί τρόποι για να χρησιμοποιήσετε το lsof.
lsof -nP [email protected]:513
Αυτή η εντολή με σύνθετη εμφάνιση παραθέτει τις συνδέσεις TCP με το όνομα κεντρικού υπολογιστή lsof.itap και τη θύρα 513. Εκτελείται επίσης lsof χωρίς σύνδεση ονομάτων σε διευθύνσεις IP και θύρες, κάνοντας την εντολή να εκτελείται αισθητά πιο γρήγορα.
lsof -iTCP -sTCP:LISTEN
Αυτή η εντολή επιστρέφει κάθε σύνδεση TCP με την κατάσταση LISTEN, αποκαλύπτοντας τις ανοιχτές θύρες TCP στο Mac. Επίσης, παραθέτει τις διεργασίες που σχετίζονται με αυτές τις ανοιχτές θύρες. Αυτή είναι μια σημαντική αναβάθμιση σε σχέση με το netstat, το οποίο αναφέρει τα PID το πολύ.
sudo lsof -i -u^$(whoami)
Άλλες εντολές δικτύωσης
Άλλες εντολές δικτύωσης τερματικού που μπορεί να ενδιαφέρουν την εξέταση του δικτύου σας περιλαμβάνουν το arp, το ping και το ipconfig.