> Is there a more accurate method to determine the country of origin for an
> IP than the methods I've described above?
Physical geography and DNS do not match. Some of the most popular web sites
in Indian under the .in domain are physically in the US and owned by US
companies. Having a web site under the .in domain is a means to reach a
market.
Physical geography and IP addresses do not match. Once the RIR allocates to
the LIR, the LIR can sub-allocate anywhere. So a LIR (ISP) in Singapore with
a regional business could allocate their address block to customers in
Singapore, Hong Kong, China, India, and any other place where they offer
services.
DNS LOC Recorded might be helpful. But, as noted in one CAIDA paper ...
"Both the whois-based and hostname-based mapping rely on the assumption that
educated guesses are required in the absence of explicit location
information. While RFC 1876 [RFC1876] did define a DNS extension to provide
a LOC resource record type that allows administrators to associate latitude
and longitude information with entries, it turns out to be sub-optimally
useful. First, the RFC specifies only the format and interpretation of the
new field, without establishing where or at what
granularity to use it. Because of this, finding the appropriate LOC resource
record may require multiple DNS queries. More importantly, people just do
not use it. NetGeo currently does not use DNS LOC queries by default because
their low success rate does not justify the expense
of the three or more DNS lookups typically needed to rule out the existence
of a valid DNS LOC record."
--->
http://www.caida.org/outreach/papers/2000/inet_netgeo/inet_netgeo.html#dnslo
c
There are tools that CAIDA has worked on like NetGeo (now something sold by
Ixia) http://www.caida.org/tools/utilities/netgeo/. Might be something to
check out along with all the other Internet mapping projects.