پاسخ به:مجموعه ترفندهای لینوکس ♦ تایپیک ویژه ♦
پنج شنبه 14 فروردین 1393 12:47 PM
شاید برای شما پیش آمده باشد که بخواهید موقیعیت جغرافیایی یک IP را بدست بیاورید.برای اینکار روش ها و سرویس های تحت وب مختلفی وجود دارد.
اما در این مطلب قصد داریم تا اینکار را از طریق خط فرمان (Shell) انجام دهیم.برای اینکار نیاز بهGeoIP داریم که یک ابزار خط فرمانی آزاد و رایگان می باشد که همیشه می توان از طریق ترمینال موقعیت IP های مورد نظر را پیدا کرد.
برای نصب این نرم افزار کافی است تا بسته ی GeoIP را از طریق ابزارهای مدیریت بسته ی گرافیکی مانند KPackageKit یاYumex یا Yumex NextGen نصب کنید یا اینکه با استفاده از ابزار مدیریت بسته ی خط فرمانی yum و اجرای این دستور آن را از طریق مخازن نصب کنید :
#yum install GeoIP
برای استفاده از برنامه و پیدا کردن مکان یک IP کافی است تا یک ترمینال باز کنید و دستور زیر را وارد کنید :
$ geoiplookup ۱۹۸٫۱۰۹٫۱۴۱٫۱۴۰
که همچین خروجی خواهد داد :
GeoIP Country Edition: US, United States
گفتنی است که به جای IP می تون از Hostname نیز استفاده کرد :
$ geoiplookup fedorafans.com
همانطور که در خروجی دستور بالا مشاهده کردید فقط نام کشور قابل مشاهده است.اما برای بدست آوردن اطلاعات دیگر مانند شهر،Zip Code و موقعیت جغرافیایی و یا دیگر اطلاعات کافی است تا از دیتابیس سایت MaxMind استفاده کرد که به صورت آزاد و رایگان می توان از آن بهره برداری کرد.بدین منظور در خط فرمان دستورهای پایین را به ترتیب وارد نمایید :
#cd /usr/share/GeoIP
#wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
#wget http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
#wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
#wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
#wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
#wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz
#gunzip *.gz
اکنون اگر برنامه را برای IP قبلی اجرا کنید شاهد همچین چیزی خواهید بود :
$ geoiplookup ۱۹۸٫۱۰۹٫۱۴۱٫۱۴۰
GeoIP Country Edition: US, United States
GeoIP ASNum Edition: AS237 Merit Network Inc.
و اگر بخواهید شهر و اطلاعات دیگر را بدست بیاورید کافی است تا از این دستور استفاده نمایید :
$ geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 198.109.141.140
که همچین خروجی را نمایش خواهد داد که شامل شهر،Zip Code ،موقعیت جغرافیایی می باشد :
GeoIP City Edition, Rev 1: US, MI, Ann Arbor, 48104, 42.273399, -83.713303, 505, 734
قدر لحظات رو باید دانست