Πώς να χρησιμοποιήσετε την εντολή Netstat σε Mac

Πίνακας περιεχομένων:

Πώς να χρησιμοποιήσετε την εντολή Netstat σε Mac
Πώς να χρησιμοποιήσετε την εντολή Netstat σε Mac
Anonim

Τι πρέπει να γνωρίζετε

  • Για να εκτελέσετε το netstat και να δείτε λεπτομερή δεδομένα σχετικά με το δίκτυο του Mac σας, ανοίξτε ένα νέο παράθυρο Terminal, πληκτρολογήστε netstat και πατήστεEnter.
  • Περιορίστε την έξοδο του netstat με σημαίες και επιλογές. Για να δείτε τις διαθέσιμες επιλογές του netstat, πληκτρολογήστε man netstat στη γραμμή εντολών.
  • Χρησιμοποιήστε την εντολή lsof για να αναπληρώσετε την έλλειψη ή την περιορισμένη λειτουργικότητα του netstat, συμπεριλαμβανομένης της εμφάνισης τυχόν αρχείων που είναι ανοιχτά αυτήν τη στιγμή σε οποιεσδήποτε εφαρμογές.

Αυτό το άρθρο εξηγεί πώς να εκτελείτε την εντολή netstat Terminal στο macOS, ώστε να μπορείτε να βλέπετε λεπτομερείς πληροφορίες σχετικά με τις επικοινωνίες δικτύου του Mac σας, συμπεριλαμβανομένων των τρόπων που μιλά ο Mac σας στον έξω κόσμο, σε όλες τις θύρες και όλες τις εφαρμογές.

Πώς να εκτελέσετε το Netstat

Μαθαίνοντας πώς να χρησιμοποιείτε το netstat μπορεί να σας βοηθήσει να κατανοήσετε τις συνδέσεις που πραγματοποιεί ο υπολογιστής σας και γιατί. Η εντολή netstat είναι διαθέσιμη σε Mac από προεπιλογή. Δεν χρειάζεται να το κατεβάσετε ή να το εγκαταστήσετε.

Για να εκτελέσετε το netstat:

  1. Μετάβαση στο Finder > Μετάβαση > Utilities.

    Image
    Image
  2. Κάντε διπλό κλικ Terminal.

    Image
    Image
  3. Στο νέο παράθυρο τερματικού, πληκτρολογήστε netstat και πατήστε ReturnEnter) για να εκτελέσετε την εντολή.

    Image
    Image
  4. Ένας τεράστιος όγκος κειμένου θα αρχίσει να κυλάει στην οθόνη σας. Εάν δεν χρησιμοποιείτε καμία από τις διαθέσιμες σημαίες (δείτε παρακάτω), το netstat αναφέρει τις ενεργές συνδέσεις δικτύου στο Mac σας. Λαμβάνοντας υπόψη τον αριθμό των λειτουργιών που εκτελεί μια σύγχρονη συσκευή δικτύου, μπορείτε να περιμένετε ότι η λίστα θα είναι μεγάλη. Μια τυπική αναφορά μπορεί να τρέξει πάνω από 1.000 γραμμές.

    Image
    Image

Σημαίες και επιλογές 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 για πρόσβαση στο γραφική διεπαφή.

Image
Image

Οι επιλογές στο Network Utility είναι πιο περιορισμένες από αυτές που είναι διαθέσιμες μέσω της γραμμής εντολών. Κάθε μία από τις τέσσερις επιλογές κουμπιών επιλογής εκτελεί μια προκαθορισμένη εντολή netstat και εμφανίζει την έξοδο.

Οι εντολές netstat για κάθε κουμπί επιλογής είναι οι εξής:

  • Εμφάνιση πληροφοριών πίνακα δρομολόγησης εκτελέσεις netstat -r.
  • Εμφάνιση ολοκληρωμένων στατιστικών στοιχείων δικτύου για κάθε πρωτόκολλο εκτελέσεις netstat -s.
  • Εμφάνιση πληροφοριών πολλαπλής μετάδοσης εκτελέσεις netstat -g.
  • Εμφάνιση της κατάστασης όλων των τρεχουσών συνδέσεων υποδοχής εκτελέσεις netstat.
Image
Image

Συμπλήρωση Netstat με Lsof

Η εφαρμογή macOS του netstat δεν περιλαμβάνει πολλές από τις λειτουργίες που περιμένουν και χρειάζονται οι χρήστες. Αν και έχει τις χρήσεις του, το netstat δεν είναι τόσο χρήσιμο στο macOS όσο στα Windows. Μια διαφορετική εντολή, lsof, αντικαθιστά μεγάλο μέρος της λειτουργικότητας που λείπει.

Το

Lsof εμφανίζει αρχεία που είναι ανοιχτά αυτήν τη στιγμή σε εφαρμογές. Μπορείτε επίσης να το χρησιμοποιήσετε για να επιθεωρήσετε ανοιχτές θύρες που σχετίζονται με την εφαρμογή. Εκτελέστε lsof -i για να δείτε τη λίστα των εφαρμογών που επικοινωνούν μέσω Διαδικτύου. Αυτός είναι συνήθως ο στόχος όταν χρησιμοποιείτε το netstat σε υπολογιστές με Windows. Ωστόσο, ο μόνος ουσιαστικός τρόπος για να ολοκληρώσετε αυτήν την εργασία στο macOS δεν είναι με το netstat, αλλά με το lsof.

Image
Image

Lsof Flags and Options

Η εμφάνιση κάθε ανοιχτού αρχείου ή σύνδεσης στο διαδίκτυο είναι συνήθως περίπλοκη. Γι' αυτό το lsof συνοδεύεται από σημαίες για περιορισμό αποτελεσμάτων με συγκεκριμένα κριτήρια. Τα πιο σημαντικά είναι παρακάτω.

Για πληροφορίες σχετικά με περισσότερες σημαίες και τεχνικές επεξηγήσεις για το καθένα, ανατρέξτε στη σελίδα man του lsof ή εκτελέστε το man lsof σε μια προτροπή τερματικού.

Το

  • - i εμφανίζει τις ανοιχτές συνδέσεις δικτύου και το όνομα της διαδικασίας που χρησιμοποιεί τη σύνδεση. Η προσθήκη ενός 4, όπως στο - i4, εμφανίζει μόνο συνδέσεις IPv4. Η προσθήκη ενός 6 αντί (- i6) εμφανίζει μόνο συνδέσεις IPv6.
  • Η σημαία - i μπορεί επίσης να επεκταθεί για να καθοριστούν περαιτέρω λεπτομέρειες. -iTCP ή -iUDP επιστρέφει μόνο συνδέσεις TCP και UDP. -iTCP:25 επιστρέφει μόνο συνδέσεις TCP στη θύρα 25. Ένα εύρος θυρών μπορεί να καθοριστεί με μια παύλα, όπως -iTCP:25-50.
  • Η χρήση [email protected] επιστρέφει μόνο συνδέσεις στη διεύθυνση IPv4 1.2.3.4. Οι διευθύνσεις IPv6 μπορούν να καθοριστούν με τον ίδιο τρόπο. Ο πρόδρομος @ μπορεί επίσης να χρησιμοποιηθεί για τον καθορισμό ονομάτων κεντρικών υπολογιστών με τον ίδιο τρόπο, αλλά τόσο οι απομακρυσμένες διευθύνσεις IP όσο και τα ονόματα κεντρικών υπολογιστών δεν μπορούν να χρησιμοποιηθούν ταυτόχρονα.
  • - s συνήθως αναγκάζει το lsof να εμφανίζει το μέγεθος του αρχείου. Αλλά όταν συνδυάζεται με τη σημαία - i, το - s λειτουργεί διαφορετικά. Αντίθετα, επιτρέπει στο χρήστη να καθορίσει το πρωτόκολλο και την κατάσταση για την επιστροφή της εντολής.
  • Το

  • - p περιορίζει το lsof σε ένα συγκεκριμένο αναγνωριστικό διεργασίας (PID). Μπορούν να οριστούν πολλαπλά PID χρησιμοποιώντας κοινά, όπως -p 123, 456, 789. Τα αναγνωριστικά διεργασίας μπορούν επίσης να εξαιρεθούν με ένα ^, όπως στο 123, ^456, το οποίο θα εξαιρούσε συγκεκριμένα το PID 456.
  • - P απενεργοποιεί τη μετατροπή αριθμών θυρών σε ονόματα θυρών, επιταχύνοντας την έξοδο.
  • Το

  • - n απενεργοποιεί τη μετατροπή αριθμών δικτύου σε ονόματα κεντρικών υπολογιστών. Όταν χρησιμοποιείται με το - P παραπάνω, μπορεί να επιταχύνει σημαντικά την έξοδο του lsof.
  • - u ο χρήστης επιστρέφει μόνο εντολές που ανήκουν στον κατονομαζόμενο χρήστη.
  • lsof Examples

    Ακολουθούν μερικοί τρόποι για να χρησιμοποιήσετε το lsof.

    lsof -nP [email protected]:513

    Αυτή η εντολή με σύνθετη εμφάνιση παραθέτει τις συνδέσεις TCP με το όνομα κεντρικού υπολογιστή lsof.itap και τη θύρα 513. Εκτελείται επίσης lsof χωρίς σύνδεση ονομάτων σε διευθύνσεις IP και θύρες, κάνοντας την εντολή να εκτελείται αισθητά πιο γρήγορα.

    lsof -iTCP -sTCP:LISTEN

    Αυτή η εντολή επιστρέφει κάθε σύνδεση TCP με την κατάσταση LISTEN, αποκαλύπτοντας τις ανοιχτές θύρες TCP στο Mac. Επίσης, παραθέτει τις διεργασίες που σχετίζονται με αυτές τις ανοιχτές θύρες. Αυτή είναι μια σημαντική αναβάθμιση σε σχέση με το netstat, το οποίο αναφέρει τα PID το πολύ.

    Image
    Image

    sudo lsof -i -u^$(whoami)

    Image
    Image

    Άλλες εντολές δικτύωσης

    Άλλες εντολές δικτύωσης τερματικού που μπορεί να ενδιαφέρουν την εξέταση του δικτύου σας περιλαμβάνουν το arp, το ping και το ipconfig.

    Συνιστάται: