Néha gyorsan meg kell szereznie egy IP-cím földrajzi helyét. Linux alatt a konzolalkalmazások erejével időt takaríthat meg és ezeket az információkat gyorsan megszerezheti. Lássuk, hogyan lehet ezt megtenni.
Reklám
Egy adott IP-cím földrajzi helyinformációinak megszerzéséhez valamilyen online szolgáltatást kell használnia, amely biztosítja a megfelelő API-t. Célszerű valamilyen közszolgáltatást használni az engedélyezési eljárás és az API kulcskezelés elkerülése érdekében. Az egyik ilyen szolgáltatás FreeGeoIP.net.
Nyilvános HTTP API-t biztosít az IP-címek földrajzi helyének megkeresésére. A városokhoz társított IP-címek adatbázisát használja, valamint egyéb releváns információkat, például az időzónát, a szélességet és a hosszúságot. Ez nagyon hasznos.
A szolgáltatás JSON vagy XML formátumban nyújthat keresési eredményeket. Tehát, ha egyesítjük a curl-t néhány JSON-elemzővel, megszerezhetjük a szükséges információkat.
hogyan lehet nagy e-maileket találni a gmail-ben
A kedvenc JSON elemzőmet fogom használni, jq:
Nagyon könnyű és gyors.
Esetünkben a lekérdezésnek a következőnek kell lennie:
http://freegeoip.net/json/119.94.116.145
A 'json' rész itt a kívánt adatformátum. A JSON mellett lehet XML vagy CSV.
Futtassuk a lekérdezést curl-lel, és nézzük meg a kimenetet:
Az eredmény egy nyers JSON kimenet, amelyet nehéz elolvasni. Az eredményhalmaz megjelenésének javításához használjuk a jq eszközt. Kombinálja a göndörítéssel az alábbiak szerint:
göndörítés http://freegeoip.net/json/119.94.116.145|jq
A kimenet könnyebben olvasható:
A jq használatával szűrheti a kimenetet, és csak a szükséges mezőket jelenítheti meg. A következő parancs csak az ország nevét, szélességét és hosszúságát jeleníti meg:
göndörítés http://freegeoip.net/json/119.94.116.145|jq -r '.ország neve,. szélesség,. hosszúság'
A parancsot a következő parancsfájlként mentheti:
#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.ország neve,. szélesség,. hosszúság'
Amikor legközelebb geolokációs információkat szeretne kapni, a következő módon hajthatja végre a szkriptet:
./geo.sh IP-cím
Ez az.