Πώς μπορώ να επιλύσω ένα όνομα κεντρικού υπολογιστή σε μια διεύθυνση IP σε ένα σενάριο Bash;

How Can I Resolve Hostname An Ip Address Bash Script



Σε κάθε σύστημα ενός δικτύου TCP/IP εκχωρείται ένα μοναδικό αναγνωριστικό γνωστό ως διεύθυνση IP που βοηθά στη σύνδεσή του με άλλο σύστημα του δικτύου και σε όλο το Διαδίκτυο. Όλοι οι ιστότοποι στους οποίους έχετε πρόσβαση στο διαδίκτυο έχουν επίσης μοναδικές διευθύνσεις IP. Καθώς είναι δύσκολο για όλους να θυμούνται τις διευθύνσεις IP αυτών των ιστότοπων, έρχεται το σύστημα DNS που βοηθά στη μετάφραση αυτών των δυσνόητων διευθύνσεων IP σε αναγνώσιμα από τον άνθρωπο ονόματα. Με το DNS, δεν χρειάζεται πλέον να θυμάστε τις διευθύνσεις IP. Αντ 'αυτού, πρέπει απλώς να θυμάστε το όνομα τομέα και όλα να είναι έτοιμα. Στην πραγματικότητα, στο υποστηριζόμενο, ο διακομιστής DNS παίρνει το όνομα κεντρικού υπολογιστή και το μεταφέρει σε μια διεύθυνση IP στην οποία συνδέεται το πρόγραμμα περιήγησης ή η εφαρμογή.

Σε αυτό το άρθρο, θα εξηγήσουμε πώς να επιλύσετε ένα όνομα κεντρικού υπολογιστή/όνομα τομέα σε μια διεύθυνση IPv4 και IPv6 σε ένα σενάριο Bash. Ωστόσο, πριν προχωρήσουμε στη δημιουργία του σεναρίου, ας αναθεωρήσουμε μερικές από τις εντολές που μπορούν να χρησιμοποιηθούν για την επίλυση του ονόματος κεντρικού υπολογιστή/ονόματος τομέα σε μια διεύθυνση IP.







Ping

Το Ping είναι το πιο απλό και ενσωματωμένο εργαλείο που είναι διαθέσιμο σε όλα σχεδόν τα λειτουργικά συστήματα. Χρησιμοποιείται για την επαλήθευση της δυνατότητας πρόσβασης ενός κεντρικού υπολογιστή σε ένα δίκτυο. Ωστόσο, μπορούμε επίσης να το χρησιμοποιήσουμε για να βρούμε τη διεύθυνση IP έναντι οποιουδήποτε ονόματος κεντρικού υπολογιστή/ονόματος τομέα. Χρησιμοποιήστε την ακόλουθη σύνταξη για να βρείτε τη διεύθυνση IP ενός στοχευμένου ονόματος κεντρικού υπολογιστή/ονόματος τομέα:



$πινγκστόχος-οικοδεσπότης



Nslookup

Το Nslookup χρησιμοποιείται ευρέως για την επίλυση του ονόματος κεντρικού υπολογιστή σε μια διεύθυνση IP. Για να χρησιμοποιήσετε αυτήν την εντολή για αναζήτηση IP, χρησιμοποιήστε την ακόλουθη σύνταξη:





$στόχος-κεντρικός υπολογιστής nslookup

Πλήθος

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



$host-target-host

Εσείς

Το Dig είναι ένα άλλο χρήσιμο εργαλείο γραμμής εντολών που χρησιμοποιείται για να αναζητήσετε διάφορες εγγραφές που σχετίζονται με το DNS. Μπορεί να χρησιμοποιηθεί για την εύρεση διεύθυνσης IP έναντι οποιουδήποτε ονόματος κεντρικού υπολογιστή/ονόματος τομέα. Χρησιμοποιήστε την εντολή Dig με τον ακόλουθο τρόπο για να βρείτε μια διεύθυνση IP έναντι ενός συγκεκριμένου ονόματος κεντρικού υπολογιστή/ονόματος τομέα.

$εσείςtarget-host +short

Bash script για επίλυση ονόματος κεντρικού υπολογιστή σε διεύθυνση IP

Για να χρησιμοποιήσετε το σενάριο bash για αναζήτηση IP, ακολουθήστε τα παρακάτω βήματα:

  1. Δημιουργήστε ένα αρχείο bash χρησιμοποιώντας οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Εδώ θα χρησιμοποιήσω τον επεξεργαστή Nano για να δημιουργήσω ένα σενάριο με όνομα iplookup.sh Το$sudo νανοscript.sh
  1. Αντιγράψτε-επικολλήστε τις ακόλουθες γραμμές στο αρχείο σεναρίου σας. Σημειώστε ότι, εδώ σε αυτό το σενάριο, καθορίζω τον δημόσιο διακομιστή DNS της Google για αναζήτηση IP. Μπορείτε να καθορίσετε οποιονδήποτε άλλο διακομιστή DNS ανάλογα με το περιβάλλον σας.# Καθορισμός διακομιστή DNS
    dnsserver='8.8.8.8'
    # λειτουργία για λήψη διεύθυνσης IP
    λειτουργίαget_ipaddr{
    διεύθυνση IP=''
    # A και AAA εγγραφή για IPv4 και IPv6, αντίστοιχα
    Το # $ 1 αντιπροσωπεύει το πρώτο επιχείρημα
    αν [ '$ 1' ]?τότε
    όνομα κεντρικού υπολογιστή='$ {1}'
    αν [ -Με 'query_type' ]?τότε
    query_type='ΠΡΟΣ ΤΟ'
    είναι
    # χρήση εντολής κεντρικού υπολογιστή για λειτουργίες αναζήτησης DNS
    πλήθος-t $ {query_type} $ {hostname} &> /dev/μηδενικό$ {dnsserver}
    αν [ '$;' -ισοδύναμο '0' ]?τότε
    # λάβετε διεύθυνση IP
    διεύθυνση IP='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
    αλλού
    έξοδος 1
    είναι
    αλλού
    έξοδος 2
    είναι
    # εμφάνιση ip
    πέταξε έξω $ ip_address
    }
    όνομα κεντρικού υπολογιστή='$ {1}'
    Γιαερώτησησε 'A-IPv4' 'AAAA-IPv6'?κάνω
    query_type='$ (printf $ query | cut -d- -f 1)'
    ανατροπή='$ (printf $ query | cut -d- -f 2)'
    διεύθυνση='$ (get_ipaddr $ {hostname})'
    αν [ '$;' -ισοδύναμο '0' ]?τότε
    αν [ '$ {address}' ]?τότε
    πέταξε έξω $ {ivversion}διεύθυνση του ονόματος κεντρικού υπολογιστή$ {hostname}είναι:$ διεύθυνση'
    είναι
    αλλού
    πέταξε έξω 'Παρουσιάστηκε σφάλμα'
    είναι
    Έγινε
  2. Μόλις τελειώσετε, χρησιμοποιήστε Ctrl+O και Ctrl+X για να αποθηκεύσετε και να βγείτε από το αρχείο αντίστοιχα.
  3. Τώρα για να βρείτε μια διεύθυνση IP έναντι στοχευμένου ονόματος κεντρικού υπολογιστή/ονόματος τομέα, εκτελέστε το σενάριο χρησιμοποιώντας την ακόλουθη σύνταξη:$Το/script.sh target-host

    Για παράδειγμα, για την επίλυση της διεύθυνσης IP του google.com, η εντολή θα είναι:

    $Το/iplookup.sh google.com

    Η έξοδος θα είναι παρόμοια με αυτήν:

    Ομοίως, για την επίλυση της διεύθυνσης IP του yahoo.com, η εντολή θα είναι:

    $Το/iplookup.sh yahoo.com

    Η έξοδος θα είναι παρόμοια με αυτήν:

    Αυτό είναι το μόνο που υπάρχει! Σε αυτό το άρθρο, μάθαμε να επιλύουμε το όνομα κεντρικού υπολογιστή σε μια διεύθυνση IPv4 και IPv6 χρησιμοποιώντας ένα σενάριο bash. Μάθαμε επίσης κάποια άλλα εργαλεία γραμμής εντολών όπως το Ping, το Nslookup, το Host και το Dig που μπορούν να χρησιμοποιηθούν για την εκτέλεση αναζήτησης IP.