Πώς να αποκτήσετε τη γεωγραφική τοποθεσία του συστήματός σας από ένα σενάριο Bash

Παγκόσμιος χάρτης με την έννοια των συνδέσεων στο Διαδίκτυο

Toria/Shutterstock.com



Μπορείτε να βρείτε τη γεωγραφική θέση ενός απομακρυσμένου συστήματος Linux χρησιμοποιώντας ανοιχτά API και ένα απλό σενάριο bash. Ο γεωγραφικός εντοπισμός ενός διακομιστή θα σας βοηθήσει να τον παρακολουθήσετε στον φυσικό κόσμο, διασφαλίζοντας ότι οι διακομιστές βρίσκονται σε τοπικά hotspot.

Κάθε διακομιστής στο Διαδίκτυο έχει μια δημόσια προβολή διεύθυνση IP . Αυτό είτε εκχωρείται απευθείας στον διακομιστή είτε εκχωρείται σε δρομολογητή που στέλνει κίνηση σε αυτόν τον διακομιστή. Οι διευθύνσεις IP μας δίνουν μια ιδέα για το πού βρίσκεται αυτός ο διακομιστής στον κόσμο. Μπορούμε να λάβουμε αυτά τα δεδομένα γεωγραφικής τοποθεσίας μέσω δύο ανοιχτών API, που παρέχονται από το ipinfo.co και το IP Vigilante και να τα χρησιμοποιήσουμε για να δούμε την πόλη, την πολιτεία και τη χώρα που σχετίζονται με έναν διακομιστή ή άλλο απομακρυσμένο σύστημα. Αυτό δεν σας δίνει μια ακριβή τοποθεσία GPS. απλά σας επιτρέπει να δείτε τη γενική περιοχή της διεύθυνσης IP.





Συνδεθείτε σε ένα απομακρυσμένο σύστημα

Θα εκτελείτε τις ακόλουθες εντολές στον διακομιστή Linux ή σε άλλα απομακρυσμένα συστήματα που θέλετε να εντοπίσετε γεωγραφικά, επομένως πρέπει πρώτα να συνδεθείτε στον διακομιστή και να αποκτήσετε πρόσβαση σε ένα κέλυφος σε αυτόν. Για παράδειγμα, μπορεί σύνδεση μέσω SSH . Θα μπορούσατε να εκτελέσετε τις εντολές στο τοπικό σας σύστημα για να βρείτε τη θέση του, αλλά πιθανότατα γνωρίζετε ήδη πού βρίσκεστε!

Εγκαταστήστε το curl και το jq

Χρειαζόμαστε δύο εργαλεία για να αποκτήσουμε πρόσβαση στο API γεωγραφικής τοποθεσίας: |_+_| για να κάνετε αιτήματα HTTP και |_+_| για να επεξεργαστούμε τα δεδομένα JSON που λαμβάνουμε πίσω. Ανοίξτε ένα τερματικό και χρησιμοποιήστε |_+_| για να εγκαταστήσετε αυτά τα εργαλεία σε συστήματα που βασίζονται στο Ubuntu ή στο Debian. Σε άλλες διανομές Linux, χρησιμοποιήστε αντί αυτού το εργαλείο εγκατάστασης πακέτων της διανομής σας Linux.



curl

Βρείτε τη δημόσια διεύθυνση IP του διακομιστή

Χρειαζόμαστε επίσης τη δημόσια διεύθυνση IP του διακομιστή για να μπορέσουμε να λάβουμε τα δεδομένα γεωγραφικής θέσης. Χρήση |_+_| για να πραγματοποιήσετε μια κλήση API στο ipinfo.io στο παράθυρο του τερματικού σας.

jq

Λάβετε δεδομένα τοποθεσίας από το API

Τώρα που έχουμε τη δημόσια IP του διακομιστή, μπορούμε να καλέσουμε το API του ipvigilante.com για να λάβουμε τα δεδομένα γεωγραφικής θέσης. Αντικατάσταση |_+_| με τη διεύθυνση που επέστρεψε στην προηγούμενη εντολή.

apt-get

έξοδος από την εντολή curl



Διαφήμιση

Ας ρίξουμε μια πιο προσεκτική ματιά στα δεδομένα που λαμβάνουμε από αυτήν την κλήση:

μεταδεδομένα που εμφανίζουν πληροφορίες τοποθεσίας

Το API επιστρέφει την πόλη, τη χώρα και την ήπειρο, στην οποία βρίσκεται ο διακομιστής μας. Επιστρέφει επίσης τις κατά προσέγγιση συντεταγμένες γεωγραφικού πλάτους και μήκους, σε περίπτωση που θέλουμε να σχεδιάσουμε αυτόν τον διακομιστή σε έναν διαδραστικό χάρτη. Θα χρησιμοποιήσουμε γεωγραφικό πλάτος, γεωγραφικό μήκος, city_name και country_name στο σενάριό μας. Το |_+_| Η εντολή κατανοεί τον τρόπο επεξεργασίας των δεδομένων API και εξαγωγής αυτών των τεσσάρων πεδίων.

Δημιουργία σεναρίου για την αυτοματοποίηση της κλήσης API

Μπορούμε να δημιουργήσουμε ένα σενάριο που συλλαμβάνει τα δεδομένα γεωγραφικής θέσης και τα γράφει σε ένα αρχείο σε μορφή CSV. Τα δεδομένα θα εγγραφούν σε ένα αρχείο που ονομάζεται |_+_| στο |_+_| Ευρετήριο. Ανοίξτε τον αγαπημένο σας επεξεργαστή και δημιουργήστε ένα σενάριο με το όνομα |_+_| . Εισαγάγετε τα περιεχόμενα του σεναρίου που εμφανίζονται παρακάτω και φροντίστε να αντικαταστήσετε τη διεύθυνση IP με τη δική σας:

curl

Αποθηκεύστε το σενάριο και επιστρέψτε στο τερματικό. Κάντε το σενάριο εκτελέσιμο από το τερματικό, παραχωρώντας το δικαίωμα εκτέλεσης σε αυτό το αρχείο.

Τώρα είστε έτοιμοι να το δοκιμάσετε. Εκτελέστε το |_+_| script και ελέγξτε τα περιεχόμενα του αρχείου εξόδου:

jq

εκτέλεση του σεναρίου geolocate

Ενημέρωση των δεδομένων γεωγραφικής θέσης μία φορά την ημέρα με μια Cron Job

Ας δημιουργήσουμε μια εργασία cron για να κάνουμε τον διακομιστή μας να ενημερώνει τη γεωγραφική του τοποθεσία και να την αποθηκεύει σε ένα αρχείο μία φορά την ημέρα. Η καθημερινή εργασία cron ενημερώνει ένα αρχείο που ονομάζεται |_+_| στο |_+_| φάκελο του διακομιστή. Η δημιουργία μιας 24ωρης εργασίας cron είναι τόσο εύκολη όσο η τοποθέτηση του σεναρίου μας στο |_+_| Ευρετήριο. Πρέπει να χρησιμοποιήσουμε την εντολή sudo για να αντιγράψουμε το αρχείο ως χρήστη root, για να αποφύγουμε προβλήματα αδειών. Εκτελέστε την ακόλουθη εντολή για να αντιγράψετε |_+_| προς το |_+_| Ευρετήριο.

server_location.txtΔιαφήμιση

Αυτές οι αλλαγές είναι άμεσες και το σενάριό μας θα εκτελείται κάθε 24 ώρες για να ενημερώνει τα περιεχόμενα του |_+_| αρχείο. Μπορούμε να χρησιμοποιήσουμε αυτά τα δεδομένα για να κάνουμε ενδιαφέροντα πράγματα, όπως να σχεδιάσουμε τους διακομιστές μας σε έναν χάρτη καθώς και να συνδυάσουμε γεωγραφική θέση με αρχεία καταγραφής κυκλοφορίας για να δούμε πού στον κόσμο βρίσκονται τα hotspot του διακομιστή μας.

ΔΙΑΒΑΣΤΕ ΤΗ ΣΥΝΕΧΕΙΑ
  • › Λειτουργίες έναντι τύπων στο Microsoft Excel: Ποια είναι η διαφορά;
  • › Τι είναι το MIL-SPEC Drop Protection;
  • › 5 ιστότοποι που κάθε χρήστης Linux πρέπει να προσθέτει σελιδοδείκτη
  • › Ο φάκελος του υπολογιστή είναι 40: Πώς το Xerox Star δημιούργησε την επιφάνεια εργασίας
  • › Πώς να βρείτε το Spotify τυλιγμένο 2021
  • & rsaquo; Cyber ​​Monday 2021: Καλύτερες προσφορές τεχνολογίας
Φωτογραφία προφίλ για τον Taylor Gibb Taylor Gibb
Ο Taylor Gibb είναι επαγγελματίας προγραμματιστής λογισμικού με σχεδόν μια δεκαετία εμπειρίας. Υπηρέτησε ως Περιφερειακός Διευθυντής της Microsoft στη Νότια Αφρική για δύο χρόνια και έχει λάβει πολλά βραβεία Microsoft MVP (Most Valued Professional). Αυτήν τη στιγμή εργάζεται σε R&D στην Derivco International.
Διαβάστε το πλήρες βιογραφικό

Ενδιαφέροντα Άρθρα