Skip to main content

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

Εντολή ping (Ιούλιος 2025)

Εντολή ping (Ιούλιος 2025)
Anonim

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

Εκτέλεση του Netstat

Η εντολή netstat είναι διαθέσιμη στα Macs από προεπιλογή. Δεν χρειάζεται να κάνετε λήψη ή εγκατάσταση.

Για να εκτελέσετε netstat, ανοίξτε ένα παράθυρο τερματικού. Εάν δεν είστε εξοικειωμένοι με το Terminal, βρίσκεται στο /Applications/Utilities/Terminal.app. Τύπος netstat και πατήστε Enter για να εκτελέσετε την εντολή.

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

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

Σημαίες και επιλογές Netstat

Για να δείτε όλες τις διαθέσιμες επιλογές του netstat, πληκτρολογήστε man netstat στη γραμμή εντολών. Αυτό θα αποκαλύψει τη σελίδα του man netstat. Μπορείτε επίσης να δείτε μια online έκδοση της σελίδας man netstat.

netstat -AabdgiLlmnqrRsSvWx -ντο Ουρά -φά address_family -ΕΓΩ διεπαφή πρωτόκολλο -w Περιμένετε

Το Netstat στο macOS δεν λειτουργεί με τον ίδιο τρόπο όπως το netstat στα Windows ή το netstat στο Linux. Η χρήση σημαίας ή σύνταξης από αυτές τις υλοποιήσεις του netstat ενδέχεται να μην έχει ως αποτέλεσμα την αναμενόμενη συμπεριφορά.

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

-r εμφανίζει τον πίνακα δρομολόγησης, ο οποίος δείχνει τον τρόπο δρομολόγησης των πακέτων γύρω από το δίκτυο.

πρωτόκολλο ορίζει την κίνηση που σχετίζεται με ένα συγκεκριμένο πρωτόκολλο δικτύωσης. Ενώ η πλήρης λίστα των πρωτοκόλλων μπορεί να βρεθεί στα / etc / πρωτόκολλα, τα πιο σημαντικά είναι τα udp και tcp.

-v αυξάνει την περιληπτικότητα, συγκεκριμένα προσθέτοντας μια στήλη που δείχνει το αναγνωριστικό διαδικασίας (PID) που σχετίζεται με κάθε ανοιχτή θύρα.

-ΕΓΩ διεπαφή παρέχει πακέτα δεδομένων για την καθορισμένη διεπαφή. Όλες οι διαθέσιμες διεπαφές μπορούν να προβληθούν με τη σημαία -i, αλλά en0 είναι συνήθως η προεπιλεγμένη διεπαφή εξερχόμενου δικτύου. Σημειώστε το μικρό γράμμα.

-σολ εμφανίζει πληροφορίες που σχετίζονται με συνδέσεις πολυεκπομπής.

-μικρό δείχνει τα στατιστικά στοιχεία δικτύου για όλα τα πρωτόκολλα, ανεξάρτητα από το αν είναι ενεργά ή όχι.

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

-ένα περιλαμβάνει τις θύρες διακομιστών στην έξοδο του netstat, οι οποίες δεν περιλαμβάνονται στην προεπιλεγμένη έξοδο.

Παραδείγματα Netstat

Για να καταστήσουμε την αντίληψή μας πράξη, ας δούμε μερικά παραδείγματα netstat.

netstat -apv TCP

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

netstat -a | grep -i "ακούει"

Αυτός ο συνδυασμός netstat και grep θα αποκαλύψει ανοιχτές θύρες στον Mac σας. Οι ανοιχτές θύρες είναι θύρες που ακούνε για ένα μήνυμα. Εάν δεν είστε εξοικειωμένοι με τη σύνταξη, τον χαρακτήρα σωλήνα | χρησιμοποιείται για την αποστολή της εξόδου μιας εντολής σε άλλη εντολή. Στένουμε την έξοδο του netstat σε grep, επιτρέποντάς μας να την αναζητήσουμε για τη λέξη κλειδί "ακούστε" και να βρούμε τα αποτελέσματά μας.

Πρόσβαση στο netstat μέσω του Network Utility

Εκτός από τη χρήση με πλήρη λειτουργία μέσω της διεπαφής γραμμής εντολών Terminal, ορισμένες λειτουργίες του netstat είναι επίσης προσβάσιμες μέσω της εφαρμογής Network Utility. Αυτή η ενσωματωμένη εφαρμογή macOS μπορεί να βρεθεί στο / Applications / Utilities / Network Utility.app. Ανοίξτε την εφαρμογή και κάντε κλικ στο Netstat για να αποκτήσετε πρόσβαση στη γραφική διεπαφή για το netstat.

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

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

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

Συμπλήρωση του netstat με lsof

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

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

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

Σημαίες και επιλογές

-Εγώ εμφανίζει όλες τις ανοιχτές συνδέσεις δικτύου και το όνομα της διαδικασίας που χρησιμοποιεί τη σύνδεση. Προσθέτοντας ένα 4, όπως στο -i4, θα εμφανίσει μόνο συνδέσεις IPv4. Προσθέτοντας ένα 6 αντί (-16) θα εμφανίσει μόνο συνδέσεις IPv6.

ο -Εγώ η σημαία μπορεί επίσης να επεκταθεί για να καθορίσει περαιτέρω λεπτομέρειες. -iTCP ή -iUDP θα επιστρέψει μόνο τις συνδέσεις TCP και UDP. -iTCP: 25 θα επιστρέψει μόνο TCP συνδέσεις στη θύρα 25. Μια σειρά από θύρες μπορεί να καθοριστεί με μια παύλα, όπως -iTCP: 25-50.

Χρησιμοποιώντας το [email protected] θα επιστρέφουν μόνο οι συνδέσεις στη διεύθυνση IPv4 1.2.3.4. Οι διευθύνσεις IPv6 μπορούν να διευκρινιστούν με τον ίδιο τρόπο. Ο πρόδρομος @ μπορεί επίσης να χρησιμοποιηθεί για τον προσδιορισμό των ονομάτων κεντρικού υπολογιστή με τον ίδιο τρόπο, αλλά τόσο οι απομακρυσμένες διευθύνσεις IP όσο και τα ονόματα κεντρικών υπολογιστών δεν μπορούν να χρησιμοποιηθούν ταυτόχρονα.

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

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

απενεργοποιεί τη μετατροπή αριθμών θυρών σε ονόματα θυρών, επιταχύνοντας την έξοδο.

απενεργοποιεί τη μετατροπή αριθμών δικτύου σε ονόματα κεντρικών υπολογιστών. Όταν χρησιμοποιείται με παραπάνω, μπορεί να επιταχύνει σημαντικά την παραγωγή του lsof.

-u χρήστης επιστρέφει μόνο εντολές που ανήκουν στον χρήστη με όνομα.

Παραδείγματα

Όπως και το netstat, βλέποντας μερικά παραδείγματα LSOF θα βοηθήσει στην πρακτική μας κατανόηση.

lsof [email protected]: 513

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

lsof -iTCP-sTCP: LISTEN

Αυτό θα επιστρέψει κάθε σύνδεση TCP με την κατάσταση ΑΚΟΥΩ. Αυτό αποκαλύπτει όλες τις ανοιχτές θύρες TCP στον Mac σας. Περιγράφει επίσης τις διαδικασίες που σχετίζονται με αυτές τις ανοιχτές θύρες. Πρόκειται για μια σημαντική αναβάθμιση σε σχέση με το netstat, το οποίο αναφέρει τα PIDs το πολύ.

sudo lsof -i-u ^ $ (whoami)

Επιστρέφει όλες τις συνδέσεις δεν που ανήκει στον τρέχοντα συνδεδεμένο χρήστη. Αυτή η εντολή είναι λίγο διαφορετική από τις άλλες, γι 'αυτό θα το καταλάβουμε λεπτομερώς.

Η καρέκλα χρησιμοποιείται για την άρνηση. Οτιδήποτε ταιριάζει με το κείμενο μετά την καρφίτσα θα αφαιρεθεί από τα αποτελέσματα. Παίρνουμε το όνομα του χρήστη που είναι συνδεδεμένος αυτήν τη στιγμή ποιός είμαι μέσα στην εντολή lsof, που περιβάλλεται από $() για να επιτρέψει στο lsof να αποκτήσει πρόσβαση ως έξοδο του κειμένου. Το τρέξιμο με το sudo σας επιτρέπει να δείτε εργασίες που δεν ανήκουν στον εαυτό σας. Η εκτέλεση αυτής της εντολής χωρίς sudo θα επιστρέψει μια κενή λίστα.

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

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