Pada artikel berikutnya kita akan melihat bagaimana kita bisa dapatkan lokasi geografis dari alamat IP publik kami. Kami akan dapat melakukan ini melalui API terbuka dan skrip bash sederhana, semuanya dari terminal Ubuntu. Saat ini semua perangkat yang terhubung ke Internet memiliki IP, yang telah menjadi pengenal mereka untuk dunia. Alamat ini adalah alamat yang akan kami gunakan untuk mendapatkan lokasi Anda.
Saat kita menjelajahi Internet, setiap server memiliki alamat IP publik, ini ditetapkan langsung ke server atau melalui router yang mengirimkan lalu lintas jaringan ke server itu. Alamat IP menyediakan cara mudah untuk melacak lokasi geografis server di dunia. Ini dapat dicapai dengan memanfaatkan dua API yang disediakan oleh ipinfo.io e ipvigilante.com yang dengannya kita bisa mendapatkan negara server, nama kota dan koordinat geografisnya.
Pada baris berikut kita akan melihat caranya ambil lokasi geografis dari sebuah IP dari terminal membantu kami dengan curl dan jq. Tujuan utama dan kegunaannya keriting adalah untuk mengotomatiskan transfer file atau urutan operasi yang tidak diawasi, sementara jq adalah bahasa fungsional tingkat tinggi dengan dukungan untuk pelacakan mundur dan pengelolaan aliran data JSON.
Lokasi geografis dari sebuah IP dari terminal
Instal Curl dan jq
Untuk mendapatkan lokasi geografis dari alamat IP, kami harus melakukannya instal curl dan alat baris perintah jq untuk memproses data JSON yang diperoleh dari API geolokasi. Untuk menginstal keduanya, di terminal (Ctrl + Alt + T) Anda harus menulis perintah:
sudo apt install curl jq
Dapatkan alamat IP publik server
Sebelum mendapatkan lokasi, Anda perlu mengetahui alamat IP publik dari server yang kita hubungkan. Untuk ini, kita akan menggunakan perintah cURL berikut yang akan kita gunakan untuk membuat permintaan ipinfo.io dari terminal (Ctrl + Alt + T) seperti yang ditunjukkan di bawah ini:
curl https://ipinfo.io/ip
Dapatkan data lokasi geografis dari IP sistem Anda berkat API
Setelah menjalankan perintah sebelumnya, kita akan mendapatkan alamat IP publik. Begitu kita memilikinya, kita akan bisa buat permintaan ke ipvigilante.com untuk mendapatkan data geolokasi. Untuk ini kita akan menggunakan perintah berikut di terminal (Ctrl + Alt + T). Penting untuk mengganti IP publik dengan yang diperoleh dengan perintah sebelumnya.
curl https://ipvigilante.com/la-dirección-IP
Otomatiskan panggilan API menggunakan Bash Script
Untuk mengotomatiskan proses komunikasi dengan API yang akan kita tuju buat skrip di dalam file bernama ipgeolocator.sh (namanya opsional). Untuk pembuatannya, kami akan dapat menggunakan editor apa pun untuk baris perintah yang paling nyaman digunakan oleh masing-masing editor.
vim ipgeolocalizador.sh
Saat editor terbuka, di dalam Anda hanya perlu melakukannya tempel garisnya ditunjukkan di bawah ini:
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Setelah ditempel, yang harus Anda lakukan adalah menyimpan file dan keluar dari editor. Setelah ini akan diperlukan buat skrip dapat dieksekusi. Kami akan melakukan ini dengan menulis di terminal yang sama:
chmod +x ipgeolocalizador.sh
Pada titik ini, kami bisa jalankan skrip sebagai berikut untuk mendapatkan lokasi geografis dari IP publik:
./ipgeolocalizador.sh
Skrip di atas menampilkan nama kota dan negara bersama dengan perkiraan koordinat lintang dan bujur. Yang benar adalah itu Saya tidak tahu margin of error yang dimilikinya.
Jika Anda tidak ingin menyimpan perintah panjang di atas di dalam file, Anda juga dapat menjalankan perintah yang sama secara langsung di terminal (Ctrl + Alt + T):
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Dalam artikel singkat ini, kita telah melihat caranya dapatkan geolokasi IP dari Ubuntu menggunakan perintah terminal dan curl dan jq. Anda dapat memperoleh informasi lebih lanjut tentang jq atau tentang keriting di artikel Wikipedia yang sesuai.