Βίντεο 711 Τι κανουμε εαν ο υπολογιστης δεν αναγνωριζει καποιο στικακι
Πίνακας περιεχομένων:
- Τι είναι η Θύρα Ακρόασης
- Ελέγξτε τις θύρες ακρόασης με το
netstat
- Ελέγξτε τις θύρες ακρόασης με
ss
- Ελέγξτε τις θύρες ακρόασης με το
lsof
- συμπέρασμα
Όταν αντιμετωπίζετε προβλήματα σύνδεσης δικτύου ή προβλήματα συγκεκριμένης εφαρμογής, ένα από τα πρώτα πράγματα που πρέπει να ελέγξετε πρέπει να είναι ποιες θύρες χρησιμοποιούνται στην πραγματικότητα στο σύστημά σας και ποια εφαρμογή ακούει σε συγκεκριμένη θύρα.
Αυτό το άρθρο εξηγεί πώς να μάθετε ποιες υπηρεσίες ακούνε σε ποιες θύρες χρησιμοποιούνται οι εντολές
netstat
,
ss
και
lsof
. Οι οδηγίες ισχύουν για όλα τα λειτουργικά συστήματα που βασίζονται σε Linux και Unix, όπως macOS.
Τι είναι η Θύρα Ακρόασης
Η θύρα δικτύου αναγνωρίζεται από τον αριθμό, τη σχετική διεύθυνση IP και τον τύπο του πρωτοκόλλου επικοινωνίας, όπως το TCP ή το UDP.
Η θύρα ακρόασης είναι μια θύρα δικτύου στην οποία ακούει μια εφαρμογή ή διαδικασία, ενεργώντας ως τελικό σημείο επικοινωνίας.
Κάθε θύρα ακρόασης μπορεί να ανοίξει ή να κλείσει (φιλτραριστεί) χρησιμοποιώντας ένα τείχος προστασίας. Σε γενικές γραμμές, μια ανοικτή θύρα είναι μια θύρα δικτύου που δέχεται εισερχόμενα πακέτα από απομακρυσμένες τοποθεσίες.
Δεν μπορείτε να έχετε δύο υπηρεσίες που ακούν την ίδια θύρα στην ίδια διεύθυνση IP.
Για παράδειγμα, εάν εκτελείτε έναν διακομιστή ιστού Apache που ακούει στις θύρες
80
και
443
και προσπαθείτε να εγκαταστήσετε το Nginx, το αργότερο δεν θα ξεκινήσει, επειδή οι θύρες HTTP και HTTPS είναι ήδη σε χρήση.
Ελέγξτε τις θύρες ακρόασης με το
netstat
netstat
είναι ένα εργαλείο γραμμής εντολών που μπορεί να παρέχει πληροφορίες σχετικά με τις συνδέσεις δικτύου.
Για να εμφανίσετε όλες τις θύρες TCP ή UDP που ακούτε, συμπεριλαμβανομένων των υπηρεσιών που χρησιμοποιούν τις θύρες και την κατάσταση υποδοχής, χρησιμοποιήστε την ακόλουθη εντολή:
sudo netstat -tunlp
Οι επιλογές που χρησιμοποιούνται σε αυτήν την εντολή έχουν την ακόλουθη σημασία:
-
-t
- Εμφάνιση θυρών TCP.-u
- Εμφάνιση θυρών UDP.-n
- Εμφάνιση αριθμητικών διευθύνσεων αντί για επίλυση κεντρικών υπολογιστών.-l
- Εμφάνιση μόνο θύρες ακρόασης.-p
- Εμφάνιση του PID και του ονόματος της διαδικασίας του ακροατή. Αυτές οι πληροφορίες εμφανίζονται μόνο αν εκτελέσετε την εντολή ως χρήστη root ή sudo.
Η έξοδος θα φαίνεται κάπως έτσι:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 929/master tcp6 0 0:::3306:::* LISTEN 534/mysqld tcp6 0 0:::80:::* LISTEN 515/apache2 tcp6 0 0:::22:::* LISTEN 445/sshd tcp6 0 0:::25:::* LISTEN 929/master tcp6 0 0:::33060:::* LISTEN 534/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 966/dhclient
Οι σημαντικές στήλες στην περίπτωσή μας είναι:
-
Proto
- Το πρωτόκολλο που χρησιμοποιείται από την πρίζα.Local Address
- Η διεύθυνση IP και ο αριθμός θύρας στον οποίο ακούει η διαδικασία.PID/Program name
- Το PID και το όνομα της διαδικασίας.
sudo netstat -tnlp | grep:22
Η έξοδος δείχνει ότι σε αυτή τη θύρα μηχανής 22 χρησιμοποιείται από τον εξυπηρετητή SSH:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
Εάν η έξοδος είναι άδεια, σημαίνει ότι δεν ακούγεται τίποτα στη θύρα.
Μπορείτε επίσης να φιλτράρετε τη λίστα βάσει κριτηρίων, για παράδειγμα, PID, πρωτόκολλο, κατάσταση και ούτω καθεξής.
netstat
είναι παρωχημένο και αντικαθίσταται με
ss
και
ip
, αλλά εξακολουθεί να είναι από τις πιο χρησιμοποιούμενες εντολές για να ελέγξετε τις συνδέσεις δικτύου.
Ελέγξτε τις θύρες ακρόασης με
ss
ss
είναι το νέο
netstat
. Χωρίς κάποια χαρακτηριστικά
netstat
αλλά εκθέτει περισσότερες καταστάσεις TCP και είναι ελαφρώς ταχύτερη. Οι επιλογές εντολών είναι ως επί το πλείστον οι ίδιες, ώστε η μετάβαση από το
netstat
σε
ss
δεν είναι δύσκολη.
Για να λάβετε μια λίστα με όλες τις θύρες ακρόασης με
ss
θα πληκτρολογήσετε:
sudo ss -tunlp
Η παραγωγή είναι σχεδόν ίδια με αυτή που αναφέρθηκε από το
netstat
:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd", pid=445, fd=3)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master", pid=929, fd=13)) LISTEN 0 128 *:3306 *:* users:(("mysqld", pid=534, fd=30)) LISTEN 0 128 *:80 *:* users:(("apache2", pid=765, fd=4), ("apache2", pid=764, fd=4), ("apache2", pid=515, fd=4)) LISTEN 0 128:22:* users:(("sshd", pid=445, fd=4)) LISTEN 0 100:25:* users:(("master", pid=929, fd=14)) LISTEN 0 70 *:33060 *:* users:(("mysqld", pid=534, fd=33))
Ελέγξτε τις θύρες ακρόασης με το
lsof
lsof
είναι ένα ισχυρό βοηθητικό πρόγραμμα γραμμής εντολών που παρέχει πληροφορίες για αρχεία που ανοίγουν με διαδικασίες.
Στο Linux, όλα είναι ένα αρχείο. Μπορείτε να σκεφτείτε μια υποδοχή ως αρχείο που γράφει στο δίκτυο.
Για να λάβετε μια λίστα με όλες τις θύρες TCP ακρόασης με τύπο
lsof
:
sudo lsof -nP -iTCP -sTCP:LISTEN
Οι επιλογές που χρησιμοποιούνται είναι οι εξής:
-
-n
- Μην μετατρέπετε τους αριθμούς θυρών σε ονόματα θυρών.-p
- Μην επιλύσετε ονόματα κεντρικών υπολογιστών, εμφανίζετε αριθμητικές διευθύνσεις.-iTCP -sTCP:LISTEN
- Εμφάνιση μόνο των αρχείων δικτύου με την κατάσταση TCP LISTEN.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) sshd 445 root 4u IPv6 16445 0t0 TCP *:22 (LISTEN) apache2 515 root 4u IPv6 16590 0t0 TCP *:80 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) mysqld 534 mysql 33u IPv6 19973 0t0 TCP *:33060 (LISTEN) apache2 764 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) apache2 765 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) master 929 root 13u IPv4 19637 0t0 TCP *:25 (LISTEN) master 929 root 14u IPv6 19638 0t0 TCP *:25 (LISTEN)
Τα περισσότερα ονόματα στηλών εξόδου είναι αυτονόητα:
-
COMMAND
,PID
,USER
- Το όνομα, το pid και ο χρήστης που εκτελεί το πρόγραμμα που σχετίζεται με τη θύρα.NAME
- Ο αριθμός θύρας.
Για να βρείτε ποια διαδικασία ακούει σε μια συγκεκριμένη θύρα, για παράδειγμα, τη θύρα
3306
που χρησιμοποιείτε:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
Η έξοδος δείχνει ότι η θύρα
3306
χρησιμοποιείται από τον εξυπηρετητή MySQL:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
Για περισσότερες πληροφορίες, επισκεφτείτε τη σελίδα man lsof και διαβάστε για όλες τις άλλες δυνατές επιλογές αυτού του εργαλείου.
συμπέρασμα
Σας έχουμε δείξει πολλές εντολές που μπορείτε να χρησιμοποιήσετε για να ελέγξετε ποιες θύρες χρησιμοποιούνται στο σύστημά σας και πώς μπορείτε να βρείτε ποια διαδικασία ακούει σε μια συγκεκριμένη θύρα.
τερματικόΗ συσκευασία για τον σταθμό βάσης Apricorn Aegis NetDock ($ 89, από τις 7/6/2010) σημαίνει μόνο ότι υπάρχει οπτική μονάδα σανίδα. Αλλά μην ξεγελιέστε: όχι μόνο υπάρχει ένας - ένας καυστήρας DVD TEAC DV-W28S-V 8X σε αυτή την περίπτωση - αλλά τέσσερις θύρες USB 2.0 επίσης. Δύο από αυτές τις θύρες παραμένουν τροφοδοτούμενες ακόμη και όταν η μονάδα δεν είναι συνδεδεμένη με υπολογιστή, ώστε να μπορείτε να φορτίζετε μαζί τους κινητά τηλέφωνα και άλλες κινητές συσκευές. Αυτή η ευελιξία βοηθάει το NetDo
Η μονάδα δοκιμής μας ήρθε επίσης με ένα σκληρό δίσκο 500GB μέσα (μια επιλογή $ 189 από τις 7/6 / 2010). Εξοικονομήστε μερικά δολάρια - ή επιλέξτε τη δική σας χωρητικότητα - αγοράζοντας τη μονάδα οπτικών μονάδων και προσθέτοντας μια μονάδα δίσκου 2,5 ιντσών αργότερα. Η εγκατάσταση ενός τέτοιου δίσκου είναι αρκετά απλή: Το NetDock χωρίζεται με την αφαίρεση της μονής βίδας. Σύρετε τη μονάδα δίσκου στη θύρα SATA, στερεώστε την με δύο βίδες, επανασυναρμολογήστε και είστε καλός.
Η Αμερικανική Υπηρεσία Τροφίμων και Φαρμάκων προειδοποίησε μια φαρμακευτική εταιρεία ότι η χρήση του κουμπιού "Κοινή χρήση Facebook" για την προώθηση φαρμάκων που καταπολεμούν τον καρκίνο παραβιάζει τις απαιτήσεις της FDA για την αποκάλυψη πληροφοριών σχετικά με τα ναρκωτικά. Novartis Pharmaceuticals, 29 Ιουλίου, λέει στην εταιρεία ότι η χρήση του Facebook Share για την προώθηση του Tasigna είναι ελλιπής και παραπλανητική.
Αυτή είναι η πρώτη φορά που η FDA εξέδωσε προειδοποίηση σε φαρμακευτική εταιρεία για τη χρήση του Facebook για την προώθηση των προϊόντων της, δήλωσε ο Τζέφρι Τσέστερ, δικηγόρος ιδιωτικής ζωής και εκτελεστικός διευθυντής του Κέντρου Ψηφιακής Δημοκρατίας.
Πώς να ελέγξετε (σαρώσετε) τις ανοιχτές θύρες στο linux
Αυτό το άρθρο περιγράφει διάφορες προσεγγίσεις για να μάθετε ποιες θύρες ανοίγουν προς τα έξω στο σύστημα Linux.