Θέμα Jannah Η άδεια δεν είναι επικυρωμένη. Μεταβείτε στη σελίδα επιλογών θέματος για να επικυρώσετε την άδεια χρήσης, Χρειάζεστε μία άδεια για κάθε όνομα τομέα.

Πώς να χρησιμοποιήσετε την εντολή nc στο Linux για να δοκιμάσετε δίκτυα και να λύσετε προβλήματα σύνδεσης

6 Χρήσεις της εντολής nc στο Linux σε δικτύωση

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

linux-mascot-terminal-multiplexer Τρόποι χρήσης της εντολής nc στο Linux για τον έλεγχο δικτύων και την επίλυση προβλημάτων σύνδεσης

Το εργαλείο netcat είναι πολύ δημοφιλές στους διαχειριστές δικτύου. Ωστόσο, μπορεί επίσης να εξυπηρετήσει διάφορους σκοπούς για εσάς ως τακτικό χρήστη Linux στην καθημερινή σας ζωή. Κατά τη διάρκεια της έρευνάς μου, βρήκα μερικές εξαιρετικές περιπτώσεις χρήσης για την εντολή nc.

6. Δημιουργήστε συνδέσεις δικτύου

Θα ξεκινήσω με το απλούστερο και πιο σημαντικό πράγμα που μπορεί να κάνει η εντολή nc: τη δημιουργία μιας άμεσης σύνδεσης TCP ή UDP μεταξύ δύο συσκευών. Αυτός είναι ο ακρογωνιαίος λίθος πολλών πιο προηγμένων χρήσεων.

Ας υποθέσουμε ότι έχετε δύο συστήματα Linux. Για να το δείξω, θα χρησιμοποιήσω ένα μηχάνημα Ubuntu και ένα μηχάνημα Linux Mint. Το Ubuntu θα λειτουργεί ως διακομιστής ή ακροατής, ενώ το Linux Mint θα λειτουργεί ως πελάτης ή σύνδεσμος.

Αρχικά, ενεργοποιήστε τον ακροατή.

nc -l -p 12345

Η επιλογή -l αφορά τη λειτουργία ακρόασης. Η επιλογή -p αφορά τον καθορισμό της θύρας. Εδώ, χρησιμοποιούμε τη θύρα 12345, αλλά μπορείτε να χρησιμοποιήσετε οποιαδήποτε άλλη θύρα, εκτός αν χρησιμοποιείται ήδη. Μετά την εκτέλεση αυτής της εντολής, η συσκευή σας θα παραμείνει στη θέση της περιμένοντας μια σύνδεση.

Τώρα, από τη συσκευή σύνδεσης, κάντε τα εξής:

nc διεύθυνση_ip αριθμός_θύρας

Αντικαταστήστε τη διεύθυνση IP με τη διεύθυνση IP του διακομιστή σας. Ο αριθμός θύρας θα είναι αυτός που χρησιμοποιήσατε στον ακροατή. Στην περίπτωσή μου, είναι ο εξής:

nc 192.168.100.4 12345

 

Δημιουργία σύνδεσης δικτύου μεταξύ δύο μηχανημάτων χρησιμοποιώντας NC

Αυτό δημιουργεί μια σύνδεση TCP μεταξύ των δύο συσκευών. Επιπλέον, δεν πρόκειται για μονόδρομη σύνδεση, όπου μόνο ο διακομιστής μπορεί να στείλει. Και τα δύο μέρη μπορούν να στείλουν και να λάβουν.

Διαβάστε επίσης:  Τι να κάνετε εάν η συσκευή σας δεν είναι συμβατή με τα Windows 11

Αν θέλετε να δημιουργήσετε μια σύνδεση UDP, μπορείτε να το κάνετε χρησιμοποιώντας την επιλογή -u. Στη συσκευή ακρόασης, εκτελέστε:

nc -u -l -p 12345

Στον υπολογιστή-πελάτη, εκτελέστε:

nc -u 192.168.100.4 12345

Δημιουργία σύνδεσης δικτύου UDP μεταξύ δύο μηχανημάτων χρησιμοποιώντας NC

Οι συνδέσεις UDP είναι λιγότερο αξιόπιστες από τις συνδέσεις TCP. Ωστόσο, προτιμώνται όταν η ταχύτητα είναι κρίσιμη και η απώλεια δεδομένων είναι αποδεκτή.

5. Σάρωση θυρών

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

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

nc -l -p 12345

Στη συνέχεια, από τον πελάτη εκτελέστε:

nc -z -v 192.168.100.4 20-130

Σάρωση-θυρών-χρησιμοποιώντας-την-εντολή-nc Τρόποι χρήσης της εντολής nc στο Linux για τον έλεγχο δικτύων και την επίλυση προβλημάτων σύνδεσης

Η σημαία -z λέει στο netcat να χρησιμοποιήσει τη λειτουργία Zero-I/O. Αυτό σημαίνει ότι το netcat θα πρέπει να ελέγχει μόνο για δαίμονες ακρόασης και όχι να στέλνει δεδομένα. Η σημαία -v ενεργοποιεί τη λειτουργία λεπτομερούς λειτουργίας, η οποία εμφανίζει καλύτερα τα αποτελέσματα. Καθορίζουμε επίσης το εύρος θυρών από 20 έως 130 που μας ενδιαφέρει.

Προειδοποίηση
Σαρώνετε μόνο συστήματα που σας ανήκουν ή έχετε ρητή άδεια σάρωσης. Η μη εξουσιοδοτημένη σάρωση μπορεί να είναι παράνομη ή να θεωρηθεί εχθρική.

Στο demo, σχεδόν όλες οι θύρες αρνήθηκαν να συνδεθούν επειδή ήταν κλειστές, εκτός από τη θύρα 80. Με τον ίδιο τρόπο, μπορείτε επίσης να σαρώσετε θύρες UDP.

4. Μεταφορά αρχείων

Το Netcat μπορεί να στείλει αρχεία απευθείας μέσω TCP ή UDP χωρίς την ανάγκη για FTP, SCP ή κοινόχρηστους φακέλους. Αυτό το καθιστά ιδανικό για γρήγορες μεταφορές, ειδικά όταν δεν υπάρχουν άλλες μέθοδοι. Ας στείλουμε ένα αρχείο από το Linux Mint σε ένα μηχάνημα Ubuntu.

Έχω ένα αρχείο με όνομα test.txt, το οποίο ονομάζω "NC File Transfer Test File File". Αρχικά, δημιουργήστε έναν ακροατή στη συσκευή στην οποία θέλετε να μεταφέρετε το αρχείο. Όταν το κάνετε αυτό, ανακατευθύνετε την έξοδο σύνδεσης σε ένα αρχείο, όπως φαίνεται παρακάτω.

nc -l -p 12345 > received.txt

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

nc 192.168.100.4 12345

Μεταφορά αρχείων μεταξύ μηχανών χρησιμοποιώντας την εντολή nc στο Linux για δοκιμή δικτύων και επίλυση προβλημάτων σύνδεσης

Για να επαληθεύσετε ότι η μεταφορά ήταν επιτυχής, χρησιμοποιήστε την εντολή ls για να ελέγξετε ότι το αρχείο υπάρχει και, στη συνέχεια, την εντολή cat για να διαβάσετε τα περιεχόμενά του. Μπορείτε επίσης να αντιστρέψετε τη διαδικασία και να στείλετε αρχεία προς την αντίθετη κατεύθυνση. Το μόνο που έχετε να κάνετε είναι να αντιστρέψετε τους ρόλους χρησιμοποιώντας τις εντολές που έδειξα παραπάνω.

Διαβάστε επίσης:  Πώς να δημιουργήσετε ένα προσαρμοσμένο πρόγραμμα περιήγησης ιστού με το Nyxt

3. Δημιουργήστε έναν διακομιστή ιστού

Το Netcat λειτουργεί ως ένας απλός διακομιστής HTTP, ακούγοντας μια θύρα και στέλνοντας αρχεία raw HTML σε όποιον συνδέεται. Φυσικά, δεν θα αντικαταστήσει τον Apache ή τον Nginx. Ωστόσο, είναι ιδανικό για γρήγορες επιδείξεις, εντοπισμό σφαλμάτων ή εξερεύνηση αιτημάτων HTTP.

Αρχικά, δημιουργήστε ένα στατικό αρχείο HTML (το ονομάζω page.html) στον διακομιστή σας. Για μένα, αυτό είναι το Ubuntu.

echo -e "HTTP/1.1 200 OK\r\nΤύπος περιεχομένου: κείμενο/html\r\n\r\n Γεια σας από το Netcat " > σελίδα.html

Σε αυτό το αρχείο, έχω συμπεριλάβει τη γραμμή κατάστασης HTTP, την κεφαλίδα Content-Type και κάποιο απλό κείμενο HTML. Οι ακολουθίες \r\n είναι απαραίτητες στο HTTP για τον διαχωρισμό των κεφαλίδων από το σώμα.

Τώρα, εκτελέστε τον διακομιστή web netcat στον ίδιο υπολογιστή:

ενώ είναι αληθές; κάντε nc -l -p 8080

Χρησιμοποιούμε έναν βρόχο while εδώ για να διατηρούμε τον διακομιστή σε λειτουργία ακόμα και μετά από κάθε αίτημα. Ακούμε στη θύρα 8080 και στέλνουμε ένα αρχείο HTML ως απάντηση. Τώρα, ανοίξτε ένα πρόγραμμα περιήγησης ιστού από τον υπολογιστή-πελάτη (Linux Mint στην περίπτωσή μου) και επισκεφθείτε τη στατική σελίδα HTML καθορίζοντας τη διεύθυνση IP και τη θύρα.

http://192.168.100.4:8080

Δημιουργία ενός ελάχιστου διακομιστή ιστού χρησιμοποιώντας την εντολή NC σε Linux για δοκιμή δικτύων και επίλυση προβλημάτων σύνδεσης

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή curl για να ανακτήσετε μια σελίδα HTML.

μπούκλα http://192.168.100.4:8080

Δημιουργία ενός ελάχιστου διακομιστή ιστού χρησιμοποιώντας την εντολή nc και ανάκτηση του περιεχομένου χρησιμοποιώντας το curl

2. Δημιουργήστε μια απλή εφαρμογή συνομιλίας

Το Netcat μπορεί να συνδέσει δύο τερματικά, έτσι ώστε ό,τι πληκτρολογείτε στο ένα να εμφανίζεται αμέσως στο άλλο. Με ένα απλό κόλπο στο περιβάλλον χρήστη, μπορείτε να το μετατρέψετε σε ένα εργαλείο άμεσης συνομιλίας. Δεν απαιτούνται εξωτερικές εφαρμογές συνομιλίας.

Για να το κάνετε αυτό, πρέπει να δημιουργήσετε μια σύνδεση δικτύου όπως περιγράφεται στην πρώτη ενότητα. Δημιουργήστε έναν ακροατή σε μία από τις συσκευές:

nc -l -p 12345

Στη συνέχεια, συνδεθείτε σε αυτό από μια άλλη συσκευή.

nc 192.168.100.4 12345

Δημιουργία μιας απλής εφαρμογής συνομιλίας χρησιμοποιώντας την εντολή nc σε Linux για τον έλεγχο δικτύων και την επίλυση προβλημάτων σύνδεσης

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

Τώρα μπορείτε να πληκτρολογείτε μπρος-πίσω στο τερματικό για να στέλνετε μηνύματα από έναν υπολογιστή σε έναν άλλο. Προσπάθησα να σκεφτώ κάτι για να δω αν θα μπορούσα επίσης να προσθέσω τα ονόματα των αποστολέων στα αντίστοιχα μηνύματα. Με αυτόν τον τρόπο, θα ήταν πιο εύκολο να παρακολουθείτε ποιος έστειλε το μήνυμα.

Διαβάστε επίσης:  Τρόποι για εύκολη πλοήγηση στο σύστημα αρχείων Linux χρησιμοποιώντας τη γραμμή εντολών

Μπορείτε να το κάνετε αυτό προσθέτοντας το όνομα του αποστολέα χρησιμοποιώντας τις εντολές echo και while. Ακολουθεί η ρύθμιση. Εκτελέστε την εντολή στον υπολογιστή του διακομιστή:

κατά την ανάγνωση μηνύματος; επανάληψη "Ubuntu: $msg"; ολοκλήρωση | nc -l -p 12345

Αυτό είναι στο μηχάνημα της Μοσούλης:

κατά την ανάγνωση μηνύματος· επανάληψη "LM: $msg"· ολοκλήρωση | nc 192.168.100.4 12345

Δημιουργία μιας απλής εφαρμογής συνομιλίας χρησιμοποιώντας την εντολή nc σε Linux για τον έλεγχο δικτύων και την επίλυση προβλημάτων σύνδεσης

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

1. Αντιμετώπιση προβλημάτων δικτύου

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

Ας υποθέσουμε ότι μια εφαρμογή δεν αποκρίνεται, μπορείτε να χρησιμοποιήσετε την εντολή nc για να δείτε αν μπορείτε να συνδεθείτε στη θύρα της.

nc -zv 192.168.100.4 22

Εάν παρουσιάσει σφάλμα ή εμφανιστεί το μήνυμα "Η σύνδεση απορρίφθηκε", η θύρα είναι κλειστή ή φιλτραρισμένη.

Μπορείτε να επικοινωνήσετε χειροκίνητα με την υπηρεσία για να δείτε αν ανταποκρίνεται όπως αναμένεται. Για παράδειγμα, ελέγξτε την απόκριση μιας τοπικής υπηρεσίας HTTP.

nc 192.168.100.4 8080

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

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

Υπάρχουν πολλά που μπορείτε να κάνετε με το netcat. Αν ενδιαφέρεστε, μπορείτε να δείτε τη σελίδα του εγχειριδίου. Επίσημος χρήστης του nc. Υπάρχουν πολλές άλλες εντολές δικτύωσης Linux που σας προτείνουμε να εξερευνήσετε.

Η εντολή nc δεν είναι απλώς ένα παραδοσιακό εργαλείο Linux. Είναι ένας έξυπνος τρόπος για τη διάγνωση δικτύων και τη διασφάλιση της ακεραιότητας των συνδέσεων μεταξύ συσκευών. Η ευκολία χρήσης και οι πολλαπλές δυνατότητές της την καθιστούν ιδανική επιλογή για όσους αναζητούν ένα πρακτικό και αξιόπιστο εργαλείο σάρωσης δικτύου. Δοκιμάστε την και θα ανακαλύψετε πώς μπορεί να σας εξοικονομήσει πολύ χρόνο και προσπάθεια όταν αντιμετωπίζετε καθημερινά προβλήματα συνδεσιμότητας.

Κουμπί μετάβασης στην κορυφή