How to get the geolocation of an IP address in Terminal?
Is it possible to get the geolocation of an IP address in Terminal?
Not sure what the numbers in an IP address mean, but there must be some logic behind it, so lookup can't be that hard.
You can do this without having to install any additional apps or software. Just use the command curl
and the free geo ip website http://freegeoip.app.
Execute the following command in Terminal (I am using Apple's IP for this example):
curl https://freegeoip.app/xml/17.178.96.59
You will get your results in an XML format:
<Response>
<IP>17.178.96.59</IP>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>CA</RegionCode>
<RegionName>California</RegionName>
<City>Cupertino</City>
<ZipCode>95014</ZipCode>
<TimeZone>America/Los_Angeles</TimeZone>
<Latitude>37.3042</Latitude>
<Longitude>-122.0946</Longitude>
<MetroCode>807</MetroCode>
</Response>
You can even issue the same command using the domain name instead of the IP:
curl https://freegeoip.app/xml/apple.com
Other Formats...
freegeoip.app also supports CSV, JSON and JSONP
CSV:
curl https://freegeoip.app/csv/apple.com
17.178.96.59,US,United States,CA,California,Cupertino,95014,America/Los_Angeles,37.30,-122.09,807
JSON: curl https://freegeoip.app/json/apple.com
{"ip":"17.178.96.59","country_code":"US","country_name":"United States","region_code":"CA","region_name":"California","city":"Cupertino","zip_code":"95014","time_zone":"America/Los_Angeles","latitude":37.3042,"longitude":-122.0946,"metro_code":807}
To check your own ip...
Just omit the ip or domain:
curl https://freegeoip.app/xml/
There is a small and compact command line tool called gip, written in C++, available at https://github.com/softhub-software-development/gip.
Examples:
# gip softhub.com 91.65.13.31 "Berlin, Berlin, Germany" # gip 91.65.13.31 91.65.13.31 "Berlin, Berlin, Germany" # gip -t google.com 91.65.13.254 "Berlin, Berlin, Germany" 145.254.3.66 "Eschborn, Hessen, Germany" 72.14.194.138 "Mountain View, California, United States" # gip -g softhub.com 52.5244 13.4105