วิธีค้นหาตำแหน่งทางภูมิศาสตร์ของเซิร์ฟเวอร์ Linux ใน Terminal
ในบทความนี้ เราจะแสดงวิธีค้นหาตำแหน่งทางภูมิศาสตร์ของที่อยู่ IP ของระบบ Linux ระยะไกลโดยใช้ APIs แบบเปิดและ สคริปต์ทุบตี แบบง่ายๆ จากบรรทัดคำสั่ง
บนอินเทอร์เน็ต แต่ละเซิร์ฟเวอร์มีที่อยู่ IP สาธารณะ ซึ่งถูกกำหนดให้กับเซิร์ฟเวอร์โดยตรงหรือผ่านเราเตอร์ที่ส่งการรับส่งข้อมูลเครือข่ายไปยังเซิร์ฟเวอร์นั้น
ที่อยู่ IP เป็นวิธีง่ายๆ ในการติดตามตำแหน่งของเซิร์ฟเวอร์ในโลกโดยใช้ API ที่มีประโยชน์สองตัวที่ ipinfo.io และ ipvigilante.com มอบให้เพื่อรับ เมือง รัฐ และ ประเทศ เชื่อมต่อกับเซิร์ฟเวอร์
ติดตั้ง Curl และ jq
ในการรับตำแหน่งทางภูมิศาสตร์ของที่อยู่ IP ของเซิร์ฟเวอร์ เราจำเป็นต้องติดตั้งเครื่องมือดาวน์โหลดบรรทัดคำสั่ง curl และเครื่องมือบรรทัดคำสั่ง jq เพื่อประมวลผลข้อมูล JSON จาก API การระบุตำแหน่งทางภูมิศาสตร์
sudo apt install curl jq #Ubuntu/Debian
sudo yum install curl jq #CentOS/RHEL
sudo dnf install curl jq #Fedora 22+
sudo zypper install curl jq #openSUSE
ค้นหาที่อยู่ IP สาธารณะของเซิร์ฟเวอร์
หากต้องการรับที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ ให้ใช้คำสั่ง curl ต่อไปนี้เพื่อสร้างคำขอ API ไปที่ ipinfo.io ในเทอร์มินัลของคุณดังที่แสดง
curl https://ipinfo.io/ip
รับข้อมูลตำแหน่ง IP จาก API
เมื่อคุณได้รับที่อยู่ IP สาธารณะของเซิร์ฟเวอร์แล้ว ตอนนี้คุณสามารถส่งคำขอไปยัง API ของ ipvigilante.com เพื่อดึงข้อมูลตำแหน่งทางภูมิศาสตร์โดยใช้คำสั่งต่อไปนี้ ตรวจสอบให้แน่ใจว่าได้แทนที่ <ที่อยู่ IP ของคุณ>
ด้วย IP สาธารณะของเซิร์ฟเวอร์
curl https://ipvigilante.com/<your ip address>
นี่คือข้อมูลที่เราได้รับจากคำสั่งด้านบน
ทำการเรียก API อัตโนมัติโดยใช้ Bash Script
ตอนนี้เพื่อทำให้กระบวนการ API เป็นอัตโนมัติ เราจะสร้างสคริปต์ชื่อ getipgeoloc.sh
(คุณสามารถตั้งชื่ออะไรก็ได้ที่คุณต้องการ) โดยใช้โปรแกรมแก้ไขบรรทัดคำสั่งที่คุณชื่นชอบ
vim getipgeoloc.sh
จากนั้นคัดลอกและวางคำสั่งยาวต่อไปนี้ลงไป
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
บันทึกไฟล์และทำให้สคริปต์ปฏิบัติการได้ด้วยคำสั่งต่อไปนี้
chmod +x getipgeoloc.sh
สุดท้ายให้รันสคริปต์เพื่อรับตำแหน่งทางภูมิศาสตร์ของ Linux IP ดังที่แสดงในภาพหน้าจอต่อไปนี้
./getipgeoloc.sh
สคริปต์ด้านบนแสดงชื่อ เมือง และ ประเทศ พร้อมด้วยพิกัด ละติจูด และ ลองจิจูด โดยประมาณ
หรือคุณสามารถเรียกใช้คำสั่งด้านบนโดยไม่ต้องบันทึกลงในสคริปต์ดังที่แสดง
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
คุณอาจต้องการอ่านบทความที่เกี่ยวข้องต่อไปนี้:
- 4 วิธีในการค้นหาที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ใน Linux Terminal
- ค้นหาที่อยู่ IP โฮสต์สดทั้งหมดที่เชื่อมต่อบนเครือข่ายใน Linux
- ค้นหาที่อยู่ IP 10 อันดับแรกที่เข้าถึงเว็บเซิร์ฟเวอร์ Apache ของคุณ
แค่นั้นแหละ! ในบทความสั้นๆ นี้ เราได้แสดงวิธีรับตำแหน่งทางภูมิศาสตร์ IP ของ Linux จากเทอร์มินัลโดยใช้คำสั่ง curl และ jq แบ่งปันความคิดของคุณกับเราหรือถามคำถามใด ๆ ผ่านแบบฟอร์มข้อเสนอแนะด้านล่าง