6 Βοηθητικό πρόγραμμα Linux για δοκιμή συνδεσιμότητας δικτύου

Αναρωτιέστε πώς να ελέγξετε τη συνδεσιμότητα μεταξύ δύο τερματικών σημείων δικτύου;

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

Ό,τι κι αν είναι, το παρακάτω βοηθητικό πρόγραμμα/εντολές θα σας βοηθούσαν. Έχουν δοκιμαστεί σε CentOS και δεν βλέπω κανένα λόγο να μην δουλεύω σε άλλη διανομή Linux.

Ας εξερευνήσουμε…

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

telnet

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

telnet $destinationIP $PORT

Ας υποθέσουμε ότι θέλετε να δοκιμάσετε εάν μπορείτε να συνδεθείτε στη θύρα 8080 στη διεύθυνση IP 10.0.0.1. τότε η εντολή θα ήταν.

telnet 10.0.0.1 8080

Εάν δεν υπάρχει πρόβλημα στη σύνδεση, τότε θα πρέπει να δείτε το συνδεδεμένο μήνυμα.

Trying 10.0.0.1...
Connected to 10.0.0.1.
Escape character is '^]'.

Σημείωση: εάν λάβετε μια εντολή που δεν βρέθηκε κατά την εκτέλεση του telnet, τότε πρέπει να εγκαταστήσετε το telnet όπως εξήγησα εδώ.

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

ncat ή nc

Το Ncat (γνωστός και ως nc) είναι ένα ισχυρό βοηθητικό πρόγραμμα δικτύου με πολλές δυνατότητες όπως σύνδεση και αποδοχή σύνδεσης, εκτέλεση εντολών από απόσταση, εγγραφή και ανάγνωση δεδομένων κ.λπ. Λειτουργεί σε IPv4 και IPv6, και τα δύο.

  Πώς να παίξετε Were Here Together στο Linux

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

nc -vz $HOSTNAME $PORT

Ας πάρουμε ένα παράδειγμα δοκιμής θύρας 443 στο grtechpc.org.com.

[[email protected] ~]# nc -vz grtechpc.org.com 443
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 104.25.133.107:443.
Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.
[[email protected] ~]#

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

Για να ξεκινήσετε την ακρόαση σε μια θύρα:

nc -l $PORTNUMBER

Θα δεσμεύσει τη θύρα σε έναν δεδομένο αριθμό.

Εάν το ncat δεν είναι εγκατεστημένο, τότε μπορείτε να το ολοκληρώσετε με το yum install nc σε διακομιστές CentOS/RHEL.

wget

Το wget είναι μια χρήσιμη εντολή για λήψη/δοκιμή HTTP, HTTPS και FTP. Εάν εργάζεστε ως μηχανικός ιστού ή αντιμετωπίζετε συχνά ζητήματα που σχετίζονται με τον ιστό, τότε το wget είναι ο φίλος σας. Η δοκιμή με χρήση wget είναι απλή.

wget $URL

Ακολουθεί ένα παράδειγμα δοκιμής tools.grtechpc.org.com

[[email protected] ~]# wget tools.grtechpc.org.com
--2019-05-09 20:40:01--  http://tools.grtechpc.org.com/
Resolving tools.grtechpc.org.com (tools.grtechpc.org.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ...
Connecting to tools.grtechpc.org.com (tools.grtechpc.org.com)|104.25.134.107|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://tools.grtechpc.org.com/ [following]
--2019-05-09 20:40:01--  https://tools.grtechpc.org.com/
Connecting to tools.grtechpc.org.com (tools.grtechpc.org.com)|104.25.134.107|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'index.html.2'

    [ <=>                                                                                                                                  ] 15,139      --.-K/s   in 0.001s  

2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved [15139]

[[email protected] ~]#

Αν δείχνει συνδεδεμένο σημαίνει ότι δεν υπάρχει πρόβλημα συνδεσιμότητας.

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

Ελέγξτε αυτό για να δείτε μερικά από τα συχνά χρησιμοποιούμενα παραδείγματα εντολών wget.

μπούκλα

Η μπούκλα είναι ένα εργαλείο πολλαπλών χρήσεων.

Γνωρίζετε ότι μπορείτε να συνδέσετε telnet σε μια θύρα χρησιμοποιώντας curl;

Λοιπόν, τώρα ξέρεις.

curl -v telnet://$IP:$PORT

Το παρακάτω είναι ένα παράδειγμα εργασίας.

[[email protected] ~]# curl -v telnet://chandan.io:443
* About to connect() to chandan.io port 443 (#0)
*   Trying 104.31.68.106...
* Connected to chandan.io (104.31.68.106) port 443 (#0)

Και, όταν δεν υπάρχει πρόβλημα θύρας ακρόασης ή τείχους προστασίας, τότε θα δείτε να προσπαθείτε…

[[email protected] ~]# curl -v telnet://chandan.io:4434
* About to connect() to chandan.io port 4434 (#0)
*   Trying 104.31.68.106...

Μπορείτε επίσης να χρησιμοποιήσετε το curl για τη λήψη των δεδομένων. Υποστηρίζει πολλαπλά πρωτόκολλα – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER κ.λπ.

nmap

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

Για να δοκιμάσετε μία μόνο θύρα

nmap -p $PORT $IP

Ένα παράδειγμα δοκιμής της θύρας 443 στο siterelic.com

[[email protected] ~]# nmap -p 443 siterelic.com
Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTC
Nmap scan report for siterelic.com (104.27.174.50)
Host is up (0.0079s latency).
Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32

PORT    STATE SERVICE
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
[[email protected] ~]#

Κοιτάξτε τη στήλη κατάσταση. Αν δείτε ανοιχτό σημαίνει ότι η σύνδεση είναι εντάξει. Και, εάν η κατάσταση είναι φιλτραρισμένη, αυτό σημαίνει ότι δεν υπάρχει συνδεσιμότητα.

  Πώς να παίξετε το Max Payne στο Linux

Ping

Μία από τις ευρέως χρησιμοποιούμενες εντολές είναι να ελέγξετε εάν ένας απομακρυσμένος κεντρικός υπολογιστής ανταποκρίνεται στο ICMP ECHO_REQUEST ή όχι. Λάβετε υπόψη ότι αυτό μπορεί να μην σας δώσει ακριβή αποτελέσματα όταν το ICMP είναι αποκλεισμένο στο τείχος προστασίας του απομακρυσμένου δικτύου. Υποθέτοντας ότι δεν συμβαίνει αυτό, μπορείτε να κάνετε ping στο τελικό σημείο δικτύου IPv4 ή IPv4 όπως παρακάτω.

ping $ipaddress
ping $url

Για παράδειγμα, αποτέλεσμα επιτυχίας του grtechpc.org.com

[email protected] ~ % ping grtechpc.org.com
PING grtechpc.org.com (104.27.119.115): 56 data bytes
64 bytes from 104.27.119.115: icmp_seq=0 ttl=53 time=7.944 ms
64 bytes from 104.27.119.115: icmp_seq=1 ttl=53 time=8.870 ms

Για παράδειγμα, αποτέλεσμα αποτυχίας εσωτερικής IP.

[email protected] ~ % ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

Εάν το τελικό σημείο υποστηρίζει IPv6, μπορείτε να χρησιμοποιήσετε την εντολή ping6 όπως παρακάτω.

[email protected] ~ % ping6 grtechpc.org.com
PING6(56=40+8+8 bytes) 2a01:4b00:88e4:8700:d8ca:bf50:159c:2a1d --> 2606:4700:20::681b:7673
16 bytes from 2606:4700:20::681b:7673, icmp_seq=0 hlim=250 time=8.650 ms
16 bytes from 2606:4700:20::681b:7673, icmp_seq=1 hlim=250 time=8.738 ms

Εάν χρειάζεται να κάνετε απομακρυσμένο ping μέσω του Διαδικτύου, μπορείτε να χρησιμοποιήσετε το διαδικτυακό εργαλείο ping.

συμπέρασμα

Το telnet καταργείται σταδιακά στην πιο πρόσφατη έκδοση Linux. Χάρη στην παραπάνω εναλλακτική λύση telnet.

Εάν είστε νέος στο Linux και θέλετε να μάθετε, τότε ρίξτε μια ματιά σε αυτό Μάθημα Udemy.