地域情報はどうやって解析しているのか(1) TLDを利用する
まず1つ目は、TLDを利用する方法です。TLDとはトップレベルドメインのことで、ドメイン名の一番右側、つまり「www.example.co.jp」なら「jp」の部分を指します。この部分は、たとえば日本のドメインであれば「jp」、韓国のドメインであれば「kr」となりますから、ここからある程度の国名が判別可能です。
第2回(前編・後編)でも解説したように、IPアドレスはDNSという仕組みを利用することで、リモートホスト名に変換をすることができます。たとえば「XXX」なら「XXX」に変換されます。そしてホスト名は階層状になっており、右に行くほど上の階層を表すので、一番右側が改装が一番上になることになり、「トップレベルドメイン(TLD)」と呼ばれるのです。そして、このホスト名のTLDを利用して、アクセスしてきた国名を判別しようというわけです。
この方法は、歴史あるフリーのアクセス解析ツールであるAnalogを始め、いろいろなアクセス解析ツールで利用されている方法です。しかし、この方法でわかるのは非常に漠然とした国情報です。
なぜなら、「jp」で終るリモートホスト名であるからといって、日本からのアクセスであるとは限らないからです。ドメイン名は、そのドメイン名を取得している人が、自分の利用可能な好きなIPアドレスに割り当てることができます。従って、たとえばアメリカにあるサーバに割り当てることもできます。

jpのドメインは、日本国外で取得することが難しいので、それでもまだ日本にある可能性が高いのですが、たとえばトンガ王国のtoドメインやツバルのtvドメイン、中国のcnドメインなど、国外からも簡単に取得できるドメインはたくさんあります。つまり、TLDがtoであるリモートホスト名からのアクセスだからといって、トンガからのアクセスだとは限らないのです。
さらに問題なのが、「com」や「net」「info」といった、gTLDと呼ばれるドメインです。gTLDは、「グローバルトップレベルドメイン」の略で、国に関係なく利用できるものです(ちなみに、国名のついたドメインは「ccTLD」(カントリーコードトップレベルドメイン)と呼ばれます)。gTLDはアメリカ合衆国のドメインだと思われるかもしれませんが、アメリカ合衆国は「us」というccTLDを持っており、gTLDはあくまで国とは関連しないTLDということになっています。ただし、「gov」と「edu」だけは例外で、それぞれアメリカ合衆国の政府機関と大学専用のTLDになっています。
gTLDは日本からも簡単に取得でき、しかも「jp」ドメインと比較して、安価に取得できるので、非常に多く利用されています。もちろん、日本だけでなく、世界中で利用されています。したがって、gTLDがついたリモートホスト名からのアクセスは、それだけではアクセス元の国名を判別することはできないのです。
TLDを使う方法は、プログラム的にはIPアドレスをリモートホスト名に変換し、そのTLDを集計するだけなので、非常に簡単に行うことができる方法ではありますが、その分精度が低く、あくまで参考程度にしか利用できないことになってしまいます。