% php -v
WARNING: PHP is not recommended
PHP is included in macOS for compatibility with legacy software.
Future versions of macOS will not include PHP.
PHP 7.3.24-(to be removed in future macOS) (cli) (built: Dec 21 2020 21:33:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies
% php composer.phar require geoip/geoip:~1.16
% wget https://dl.miyuru.lk/geoip/maxmind/city/maxmind4.dat.gz
% gunzip -d maxmind4.dat.gz
% cat test-ip-via-geoip.php
<?php
require 'vendor/autoload.php';
$gi = geoip_open("maxmind4.dat",GEOIP_STANDARD);
$country = geoip_country_code_by_addr($gi, $argv[1]);
echo "lookup [".$argv[1]."], result: [$country]\n";
% php test-ip-via-geoip.php 8.8.8.8
lookup [8.8.8.8], result: [US]
% nslookup tw.yahoo.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
tw.yahoo.com canonical name = atsv2-fp-shed.wg1.b.yahoo.com.
Name: atsv2-fp-shed.wg1.b.yahoo.com
Address: 180.222.102.201
Name: atsv2-fp-shed.wg1.b.yahoo.com
Address: 180.222.102.202
% php test-ip-via-geoip.php 180.222.102.202
lookup [180.222.102.202], result: [IN]
% curl ipinfo.io/180.222.102.202
{
"ip": "180.222.102.202",
"hostname": "media-router-fp74.prod.media.vip.tp2.yahoo.com",
"city": "Taoyuan City",
"region": "Taiwan",
"country": "TW",
"loc": "24.9937,121.2970",
"org": "AS24506 YAHOO! TAIWAN",
"timezone": "Asia/Taipei",
"readme": "https://ipinfo.io/missingauth"
}
% nslookup facebook.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: facebook.com
Address: 31.13.87.36
% curl ipinfo.io/31.13.87.36
{
"ip": "31.13.87.36",
"hostname": "edge-star-mini-shv-01-tpe1.facebook.com",
"city": "Hong Kong",
"region": "Central and Western",
"country": "HK",
"loc": "22.2783,114.1747",
"org": "AS32934 Facebook, Inc.",
"timezone": "Asia/Hong_Kong",
"readme": "https://ipinfo.io/missingauth"
}
% nslookup www.gov.tw
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: www.gov.tw
Address: 223.200.155.55
% php test-ip-via-geoip.php 223.200.155.55
lookup [223.200.155.55], result: [TW]
% curl ipinfo.io/223.200.155.55
{
"ip": "223.200.155.55",
"hostname": "223-200-155-55.hinet-ip.hinet.net",
"city": "Hualien City",
"region": "Taiwan",
"country": "TW",
"loc": "23.9769,121.6044",
"org": "AS4782 Data Communication Business Group",
"timezone": "Asia/Taipei",
"readme": "https://ipinfo.io/missingauth"
}