Cara Mendapatkan Lokasi Geografi Sistem Anda Daripada Skrip Bash

Peta dunia dengan konsep sambungan internet

Toria/Shutterstock.com



Anda boleh mencari lokasi geografi sistem Linux jauh menggunakan API terbuka dan skrip bash mudah. Geolokasi pelayan boleh membantu anda menjejakinya dalam dunia fizikal, memastikan pelayan terletak di kawasan liputan serantau.

Setiap pelayan di internet mempunyai muka depan awam alamat IP . Ini sama ada diperuntukkan terus kepada pelayan, atau diperuntukkan kepada penghala yang menghantar trafik ke pelayan itu. Alamat IP memberi kita petunjuk tentang lokasi pelayan itu berada di dunia. Kami boleh mendapatkan data geolokasi ini melalui dua API terbuka, yang disediakan oleh ipinfo.co dan IP Vigilante dan menggunakannya untuk melihat bandar, negeri dan negara yang dikaitkan dengan pelayan atau sistem jauh lain. Ini tidak memberi anda lokasi GPS yang tepat; ia hanya membolehkan anda melihat kawasan umum alamat IP.





Sambung ke Sistem Jauh

Anda akan menjalankan arahan berikut pada pelayan Linux atau sistem jauh lain yang anda mahu geolokasi, jadi anda mesti menyambung ke pelayan dan mengakses cangkerang padanya terlebih dahulu. Sebagai contoh, anda mungkin sambung melalui SSH . Anda boleh menjalankan arahan pada sistem tempatan anda untuk mencari lokasinya, tetapi anda mungkin sudah tahu di mana anda berada!

Pasang curl dan jq

Kami memerlukan dua alatan untuk mengakses API geolokasi: |__+_| untuk membuat permintaan HTTP dan |__+_| untuk memproses data JSON yang kami dapat semula. Buka terminal dan gunakan |__+_| untuk memasang alat ini pada sistem berasaskan Ubuntu atau Debian. Pada pengedaran Linux yang lain, gunakan alat pemasangan pakej pengedaran Linux anda sebaliknya.



curl

Cari Alamat IP Awam Pelayan

Kami juga memerlukan alamat IP awam pelayan sebelum kami boleh mendapatkan data geolokasi. Gunakan |_+_| untuk membuat panggilan API ke ipinfo.io dalam tetingkap terminal anda.

jq

Dapatkan Data Lokasi Daripada API

Memandangkan kami mempunyai IP awam pelayan, kami boleh membuat panggilan ke API ipvigilante.com untuk mendapatkan data geolokasi. Gantikan |_+_| dengan alamat yang kembali dalam arahan sebelumnya.

apt-get

output daripada arahan curl



Iklan

Mari kita lihat dengan lebih dekat data yang kami dapat semula daripada panggilan ini:

metadata yang menunjukkan maklumat lokasi

API mengembalikan bandar, negara dan benua, di mana pelayan kami berada. Ia juga mengembalikan anggaran koordinat latitud dan longitud, sekiranya kita ingin melukis pelayan ini pada peta interaktif. Kami akan menggunakan latitud, longitud, nama_bandar dan nama_negara dalam skrip kami. |_+_| arahan memahami cara memproses data API dan mengekstrak empat medan ini.

Mencipta Skrip untuk Mengautomasikan Panggilan API

Kami boleh mencipta skrip yang mengambil data geolokasi dan menulisnya ke fail dalam format CSV. Data akan ditulis pada fail bernama |__+_| dalam |_+_| direktori. Buka editor kegemaran anda dan buat skrip bernama |_+_| . Masukkan kandungan skrip yang ditunjukkan di bawah, dan pastikan anda menggantikan alamat IP dengan alamat IP anda sendiri:

curl

Simpan skrip dan kembali ke terminal. Jadikan skrip boleh laku daripada terminal, dengan memberikan kebenaran laksana pada fail ini.

Sekarang anda sudah bersedia untuk mengujinya. Jalankan |_+_| skrip dan semak kandungan fail output:

jq

menjalankan skrip geolocate

Mengemas kini Data Geolokasi Sekali Sehari Dengan Kerja Cron

Mari buat kerja cron untuk membuat pelayan kami mengemas kini geolokasinya dan menyimpannya ke fail sekali sehari. Tugas cron harian mengemas kini fail bernama |__+_| dalam |_+_| folder pelayan. Mencipta kerja cron 24 jam adalah semudah meletakkan skrip kami ke dalam |_+_| direktori. Kita mesti menggunakan arahan sudo untuk menyalin fail sebagai pengguna root, untuk mengelakkan masalah kebenaran. Jalankan arahan berikut untuk menyalin |__+_| kepada |_+_| direktori.

server_location.txtIklan

Perubahan ini adalah serta-merta dan skrip kami akan dijalankan setiap 24 jam untuk mengemas kini kandungan |_+_| fail. Kami boleh menggunakan data ini untuk melakukan perkara yang menarik, seperti merancang pelayan kami pada peta serta menggabungkan geolokasi dengan log trafik untuk melihat di mana tempat liputan pelayan kami berada.

BACA SETERUSNYA
  • › Fungsi vs. Formula dalam Microsoft Excel: Apakah Perbezaannya?
  • › Apakah itu MIL-SPEC Drop Protection?
  • › 5 Laman Web Setiap Pengguna Linux Perlu Penanda Halaman
  • › Folder Komputer Berusia 40: Bagaimana Bintang Xerox Mencipta Desktop
  • › Cara Mencari Spotify Anda Dibungkus 2021
  • & rsaquo; Cyber ​​Monday 2021: Tawaran Teknologi Terbaik
Foto Profil untuk Taylor Gibb Taylor Gibb
Taylor Gibb ialah pembangun perisian profesional dengan pengalaman hampir sedekad. Beliau berkhidmat sebagai Pengarah Serantau Microsoft di Afrika Selatan selama dua tahun dan telah menerima pelbagai anugerah Microsoft MVP (Most Valued Professional). Beliau kini bekerja dalam R&D di Derivco International.
Baca Bio Penuh

Artikel Yang Menarik