ค้นหาเว็บไซต์

วิธีค้นหาตำแหน่งทางภูมิศาสตร์ของเซิร์ฟเวอร์ 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'

คุณอาจต้องการอ่านบทความที่เกี่ยวข้องต่อไปนี้:

  1. 4 วิธีในการค้นหาที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ใน Linux Terminal
  2. ค้นหาที่อยู่ IP โฮสต์สดทั้งหมดที่เชื่อมต่อบนเครือข่ายใน Linux
  3. ค้นหาที่อยู่ IP 10 อันดับแรกที่เข้าถึงเว็บเซิร์ฟเวอร์ Apache ของคุณ

แค่นั้นแหละ! ในบทความสั้นๆ นี้ เราได้แสดงวิธีรับตำแหน่งทางภูมิศาสตร์ IP ของ Linux จากเทอร์มินัลโดยใช้คำสั่ง curl และ jq แบ่งปันความคิดของคุณกับเราหรือถามคำถามใด ๆ ผ่านแบบฟอร์มข้อเสนอแนะด้านล่าง