fqdn2domain.pl
- Name
- fqdn2domain.pl
- Author
- Yuuichirou Oka (oka at a-f dot jp)
- Copyright
- © 1999-2006 Yuuichirou Oka
- This script can
- FQDN(Fully Qualified Domain Name)なホスト名からサブドメインを含まないドメイン名を抜き出すこと
- Extract domain name from FQDN(Fully Qualified Domain Name)
- License
- GNU General Public License
- Download
- fqdn2domain.pl
- pod2html (with ActivePerl 808)
- pod.html
- History (Japanese Only)
- history.txt
Update announce via email is available. Feel free to contact me.
制限事項
仕様に伴う制限事項です
- NAME
- 第2レベルが開放されましたので、FQDNからの正確な判定はできなくなりました。
入力に関わらず、第2レベルまでを返します。
- IDN(Internationalized Domain Name)
- 対応の予定はありません。
使い方
#!/usr/local/bin/perl
require 'fqdn2domain.pl';
. . .
$remote_host_domain = &fqdn2domain::extract($remote_host_fqdn);
. . .
具体例
あまり良い例は思いつかないんですが…
- www.cse.ec.kyushu-u.ac.jp => kyushu-u.ac.jp
- www.pref.fukuoka.jp => pref.fukuoka.jp
- subway.city.fukuoka.jp => city.fukuoka.jp
- www.city.urayasu.chiba.jp => city.urayasu.chiba.jp
- er.general-hospital.co.chicago.il.us => general-hospital.co.chicago.il.us
制限事項や気をつけてほしいこと
返り値は正確になるように気をつけてはいるが不完全
まだ調査していなかったり、想定していないドメインがあった場合は、
返り値のうしろに"*"がつく。
調査時にはまだ汎用ドメインが制度として無かったが、その後できた場合などが後者に該当する
実在する(または実在しうる)ドメインで"*"の付いた返り値が得られた場合には、ぜひぜひお知らせください。
ドメイン自体の存在を調べているわけではないし、ドメイン名として適切かどうかも判定しているわけではない(RFCレベルの大まかなチェックはしている)ので、
ありえないドメイン名を返すことも十分ありうる。例えば以下のような例
- www.a.jp => a.jp
- jp汎用ドメインの第2レベルは最低3文字以上。
- www.city.urayasu.tokyo.jp => city.urayasu.tokyo.jp
- 東京都に浦安市は存在しない。そこまで網羅するつもりはないし、そんな気力も無い
- 海外の国では、地域型ドメインがあってもその取りうる値(?)を明示しているところはほとんどないので、汎用ドメインと判定される可能性は大きい。
- 地域型があり、その取りうる値が明示されている国
- 中国、韓国、ポーランド
- アメリカ(明示されていないが、郵便番号の州略号なので判別可)
- 地域型があり、その取りうる値が明示されていない国
- カナダ、オーストラリア
一方で以下のような場合には、空文字列を返す
- アルファベット、数字、ピリオド、ハイフン以外の文字を含む場合
- ドメイン名として含むことのできない文字がある場合は処理を行わない。結果的にIPv6アドレスも対象外となった。
- アルファベットが一切無い場合
- IPv4アドレスを想定
- TLDにアルファベットが一切無い場合
- なんで、逆引きでこんなのを返すかなぁ…
- ラベルに1文字も含まない(=ピリオドが2文字以上続く)、または64文字以上含む
- RFCに違反
TOP / Domains / fqdn2domain
Copyright (c)2002-2005 Yuuichirou Oka
All right reserved. International copyright secured.