Dapatkan info Geolokasi Alamat IP di Bash di Linux
Terkadang Anda perlu mendapatkan informasi geolokasi untuk alamat IP dengan cepat. Di Linux, Anda dapat menggunakan kekuatan aplikasi konsol untuk menghemat waktu Anda dan mengambil informasi ini dengan cepat. Mari kita lihat bagaimana hal itu bisa dilakukan.
Iklan
Untuk mendapatkan informasi lokasi geografis tentang alamat IP tertentu, Anda perlu menggunakan beberapa layanan online yang menyediakan API yang sesuai. Sebaiknya gunakan beberapa layanan publik untuk menghindari prosedur otorisasi dan manajemen kunci API. Salah satu layanan tersebut adalah GratisGeoIP.net.
Ini menyediakan API HTTP publik untuk mencari geolokasi alamat IP. Ini menggunakan database alamat IP yang terkait dengan kota bersama dengan informasi relevan lainnya seperti zona waktu, garis lintang dan garis bujur. Ini sangat berguna.
Layanan ini dapat memberikan hasil pencarian sebagai JSON atau XML. Jadi, jika kita menggabungkan curl dengan beberapa parser JSON, kita bisa mendapatkan info yang diperlukan.
Saya akan menggunakan parser JSON favorit saya, jq:
Ini sangat ringan dan cepat.
Untuk kasus kami, kuerinya harus sebagai berikut:
http://freegeoip.net/json/119.94.116.145
Bagian "json" di sini adalah format data yang diinginkan. Selain JSON, bisa berupa XML atau CSV.
Mari jalankan kueri dengan curl dan lihat hasilnya:
Hasilnya adalah output JSON mentah yang sulit dibaca. Untuk meningkatkan tampilan kumpulan hasil, mari gunakan alat jq. Gabungkan dengan curl sebagai berikut:
keriting http://freegeoip.net/json/119.94.116.145|jq
Outputnya akan lebih mudah dibaca:
Menggunakan jq, Anda dapat memfilter output dan membuatnya hanya menampilkan bidang yang diperlukan. Perintah berikut hanya akan menampilkan nama negara, garis lintang dan garis bujur:
keriting http://freegeoip.net/json/119.94.116.145|jq -r '.nama_negara,.lintang,.bujur'
Anda dapat menyimpan perintah ini sebagai skrip shell berikut:
#!/bin/sh. ikal -s http://freegeoip.net/json/$1|jq -r '.nama_negara,.lintang,.bujur'
Lain kali Anda perlu mendapatkan informasi geolokasi, Anda dapat menjalankan skrip Anda seperti ini:
./geo.sh IP_address
Itu dia.