基于OpenResty ,MaxMind GeoIP数据库和从bgp.he.net生成的ASN数据库,因为没有经纬度的需求所以没有显示。下文有源代码的链接,如果需要可以自行修改加上经纬度或者将输出变为JSON等。

这里有chrome插件

使用方法

查询当前IPv4地址

$ curl http://cidr.me/ip
x.x.x.x

查询当前IPv6地址

$ curl http://ipv6.cidr.me/ip
x.x.x.x

查询当前IP的PTR记录(反向DNS),地理位置和ASN

$ curl http://cidr.me/
x.x.x.x
Country, City
ASN number

查询当前IP的PTR记录

$ curl http://cidr.me/rdns
x-x-x-x.com

查询指定IP的地理位置

$ curl http://cidr.me/74.125.203.199
74.125.203.199 th-in-f199.1e100.net
United States, California, Mountain View
AS15169 Google Inc.

查询域名的地理位置

$ curl http://cidr.me/www.google.com.hk
172.217.3.195 sea15s12-in-f3.1e100.net
United States, California, Mountain View
AS15169 Google LLC

2607:f8b0:400a:809::2003 sea15s12-in-x03.1e100.net
United States
AS15169 Google LLC

查询域名的IP

$ curl http://cidr.me/www.google.com.hk/ip
74.125.203.199
2607:f8b0:400a:809::2003

查询域名的IP和CNAME(如果存在)

$ curl http://cidr.me/www.youtube.com/dns
youtube-ui.l.google.com 172.217.3.174
172.217.3.206
216.58.193.78
216.58.217.46
2607:f8b0:400a:808::200e

源代码

在这里https://gist.github.com/fffonion/44e5fb59e2a8f0efba5c1965c6043584

需要ngx_http_geoip_module, echo-nginx-module, lua-nginx-module,安装libgeoip,并将maxmind的旧版geoip数据库放在/usr/share/GeoIP

通过bgp.he.net生成ASN数据库

This service is based on OpenResty, MaxMind GeoIP database and ASN database generated by bgp.he.net. There’s no lat/lng since I don’t need it. Source code is attached below. You can modify it to display lat/lng or output JSON.

Usage

Query current IPv4 address

$ curl http://cidr.me/ip
x.x.x.x

Query current IPv6 address

$ curl http://ipv6.cidr.me/ip
x.x.x.x

Query current IP PTR (reverse DNS), geo location and ASN

$ curl http://cidr.me/
x.x.x.x
Country, City
ASN number

Query current IP PTR (reverse DNS)

$ curl http://cidr.me/rdns
x-x-x-x.com

Query given IP geo location

$ curl http://cidr.me/74.125.203.199
74.125.203.199
United States, California, Mountain View
AS15169 Google Inc.

Query given domain name geo location

$ curl http://cidr.me/www.google.com.hk
74.125.203.199
United States, California, Mountain View
AS15169 Google Inc.

Query given domain name IP

$ curl http://cidr.me/www.google.com.hk/ip
74.125.203.199

Query given domain name IP and CNAME (if exists)

$curl http://cidr.me/www.youtube.com/dns
youtube-ui.l.google.com 172.217.3.174
172.217.3.206
216.58.193.78
216.58.217.46
2607:f8b0:400a:808::200e

Installation

Source code can be viewed here: https://gist.github.com/fffonion/44e5fb59e2a8f0efba5c1965c6043584

nginx with ngx_http_geoip_module, echo-nginx-module, lua-nginx-module is required; libgeoip needs to be installed and geoip database should be placed under /usr/share/GeoIP.

Generate ASN database from bgp.he.net