I am building DNS service and I need to find out location of DNS servers querying me. Apparently anyone who is using Google public DNS like 8.8.8.8 is coming from Google /17 network, and if I do geoip lookup, it resolves to US, but the server is in Ireland.
Do I really need to run traceroute for IP each to find out how far it is?
Also, bgp reports that it's /23 subnet however I have no idea how to get this information up to date either. http://bgp.he.net/ip/209.85.143.94
[root@test ~]# host 209.85.143.94
94.143.85.209.in-addr.arpa domain name pointer dy-in-f94.1e100.net.
[root@test ~]# geoiplookup 209.85.143.94
GeoIP Country Edition: US, United States
[root@test ~]# traceroute 209.85.143.94
traceroute to 209.85.143.94 (209.85.143.94), 30 hops max, 60 byte packets
1 31.222.167.2 (31.222.167.2) 1.344 ms 2.273 ms 2.135 ms
2 core6a-aggr325a-4.lon3.rackspace.net (92.52.77.106) 3.386 ms 3.326 ms 3.316 ms
3 corea-core6a.lon3.rackspace.net (164.177.137.10) 3.290 ms 3.249 ms coreb-core6a.lon3.rackspace.net (164.177.137.22) 3.222 ms
4 edge1-coreb.lon3.rackspace.net (164.177.137.29) 3.199 ms 3.161 ms edge1-corea.lon3.rackspace.net (164.177.137.27) 3.138 ms
5 195.50.122.41 (195.50.122.41) 3.118 ms 3.075 ms 3.047 ms
6 195.50.122.82 (195.50.122.82) 3.021 ms 1.523 ms 1.589 ms
7 209.85.255.78 (209.85.255.78) 2.940 ms 209.85.255.76 (209.85.255.76) 2.877 ms 209.85.255.78 (209.85.255.78) 2.873 ms
8 209.85.253.90 (209.85.253.90) 2.844 ms 2.817 ms 2.789 ms
9 209.85.250.216 (209.85.250.216) 18.132 ms 209.85.251.190 (209.85.251.190) 14.584 ms 209.85.250.216 (209.85.250.216) 18.049 ms
10 209.85.253.125 (209.85.253.125) 14.537 ms 209.85.253.203 (209.85.253.203) 16.017 ms 209.85.253.127 (209.85.253.127) 14.484 ms
11 216.239.43.22 (216.239.43.22) 22.787 ms 22.739 ms 216.239.47.26 (216.239.47.26) 25.445 ms
12 dy-in-f94.1e100.net (209.85.143.94) 17.312 ms 12.970 ms 15.537 ms
you can try using 3rd party database like this one. or start building your own by retrieving and parsing the whois information.