狠狠撸

狠狠撸Share a Scribd company logo
超簡単!? Punycode 変換 
~国際化?日本語ドメイン~ 
2014/10/18 
DNS Spa 2014 Autumn 
@otsuka752 (@twovs)
agenda 
? 自己紹介 
? 国際化ドメインの仕組み 
?? 名前解決の方法
? 逆変換してみた(.moe)
about me 
? @otsuka752 (@twovs) 
? ネコ2人+奥さん1人+可愛い娘 
?? 無線LLAANN装置の開発((11999999~~22000044)) 
? オンラインゲームのシステム管理者(2004~) 
? ただし,ゲームには全く興味無し 
? ZFS 最高!!! beadm 便利!!!
国際化ドメイン 
インターネットで使われるドメイン名にアル 
ファベットや数字以外に漢字、アラビア文字、 
キリル文字、ギリシア文字なども使えるように
する仕組み。 
日本語であれば日本語ドメイン名とも呼ばれる。 
抜粋) http://ja.wikipedia.org/wiki/国際化ドメイン名
国際化ドメイン名の例 
? 例えば下記のURL のドメイン名 
? http://日本語.jp/ (.jp は半角) 
?? hhttttpp::////日本語。jjpp// ((。jjpp は全角)) 
? http://浸透いうな.moe/
国際化ドメイン名の例 
? 下記URL のドメイン名は使えない 
? http://日本。。jp/ 
?? hhttttpp::////日本_。jjpp// 
? http://浸透いうな!.moe/
仕組みの概要 
? DNS の仕組みは通常通り 
? Web ブラウザなどのアプリケーションが頑張る 
1. 文字列を正規化 
2. 7bit ASCII 文字列への変換 
3. 通常通りDNS で名前解決
1.文字列の正規化 
? 一定の標準形に正規化(NAMEPREP) 
? たとえば、全角の「。」は半角の「.」に 
?? 全角の「jjpp」は半角の「jjpp」に
? アルファベットの大文字は全て小文字に 
日本語。jp => 日本語.jp
2. 7bit ASCII 文字列への変換 
? 正規化された文字列を 
Punycode(ピュニコード)(後述)で符号化 
?? 既存のDDNNSS の仕組みに合わせた
7bit ASCII 文字列に変換 
日本語.jp => xn--wgv71a119e.jp
3.通常通りDNS で名前解決 
? ここから先は通常通り… 
xn--wgv71a119e.jjpp ==>> 119922..00..22..11 ((例))
国際化ドメイン名の例 
? 下記URL のドメイン名は使えない 
? http://日本。。jp/ ‘.’ dot が連続 
?? hhttttpp::////日本_。jjpp// ‘‘__’’ uunnddeerrssccoorree 
? http://浸透いうな!.moe/ ‘!’ exclamation 
? ‘,’全角カンマは使えない 
‘、’全角読点は使える
Punycode(ピュニコード) 
国際化ドメイン名で使われる文字符号化方式で、 
RFC 3492 で定義されている。 
UUnniiccooddee で書かれた文字列をDDNNSS内の制限された
文字コード空間でも使えるようにするための方 
式で、ユーザーエージェントの実装に依存する。 
抜粋) http://ja.wikipedia.org/wiki/Punycode
変換?逆変換する方法 
? RFC3492 
Punycode: A Bootstring encoding of Unicode 
for Internationalized Domain Names in Applications (IDNA) 
http://tools.ietf.org/html/rfc3492 
? libidn - GNU IDN Library 
C/C++/C#/Java API/Emacs API 
http://www.gnu.org/software/libidn/
変換?逆変換する方法 
? JPRS 
日本語JPドメイン名のPunycode 変換?逆変換 
http://punycode.jp/ 
※日本語JP ドメインだけでなく 
任意の文字列をencode/decode
簡単!? 変換?逆変換 
$ curl -F 'str=XN--68J9BUB3E.moe' http://(snip).jp/ 
(snip) 
<tr><td>正規化後</td><td>:</td><td>しまぱん.moe</td></tr> 
<tr><td>Punycode</td><td>:</td><td>xn--68j9bub3e.moe</td></tr> 
(snip) 
$ wget -O - --post-data='str=しまぱん.moe' http://(snip).jp/ 
(snip) 
<tr><td>正規化後</td><td>:</td><td>しまぱん.moe</td></tr> 
<tr><td>Punycode</td><td>:</td><td>xn--68j9bub3e.moe</td></tr> 
(snip)
逆変換してみた(.moe) 
? 気まぐれにDNSSEC walk してみた方が!? 
http://www.e-ontap.com/blog/20140924.html 
http://www.e-ontap.com/misc/moe.txt 
? 気まぐれに逆変換してみた 
http://www.slideshare.net/twovs/moe-39625501
.moe ドメイン一部抜粋 
ヒーローズ.moe XN--0CK4B4DTCB.moe 
先生.moe XN--44QR78F.moe 
さん.moe XN--48JWG.moe 
シテラさん.moe XN--48JWG5DOCWJ.moe 
しまぱん.moe XN--68J9BUB3E.moe 
秋葉原.moe XN--8MR310GI6G.moe 
百合.moe XN--8PRV51F.moe 
耳.moe XN--BY0A.moe 
真姫.moe XN--BYS929D.moe 
西木野真姫.moe XN--BYSX12ALOMT1R5PJ.moe
END
Ad

Recommended

PDF
毎日 dig ったら分かったこと ~新 gTLD~
@ otsuka752
?
PPTX
アシ?ェンタ?
Yusuke Yokozawa
?
PPTX
ビッグデータと颈辞顿谤颈惫别の夕べ:ドリコムのデータ分析环境のお话
Tokoroten Nakayama
?
PDF
20111029 part2-dnsトリビア(出張版)-事後資料
Yasuhiro Morishita
?
PDF
10分でわかる幽霊问题-事后资料
Yasuhiro Morishita
?
PPTX
ソーシャルゲームにレコメンドエンジンを导入した话
Tokoroten Nakayama
?
PDF
既出のDNS キャッシュホ?イス?ニンク?
nemumu
?
PDF
はし?めての顿狈厂
Shohei Kobayashi
?
PPTX
Hard-Disk
Na Da
?
PDF
DNS 入門
Sho A
?
PDF
Osh2014
Soudai Sone
?
PPTX
qpstudy 2014.04 ミドルウェア設計の勘所
Masahiro NAKAYAMA
?
PDF
Web エンシ?ニアか? postgre sql を選ふ? 3 つの理由
Soudai Sone
?
PDF
贰肠2での诲颈蝉办拡张方法
Takamasa Sakai
?
PDF
中国地方顿产勉强会
Soudai Sone
?
PPTX
ゲームキャストDiscord 1周年放送
壽久 寺島
?
PDF
20120913 nosql@hikarie(okuyama fuse)
Takahiro Iwase
?
PDF
翱厂颁北海道2014冲闯笔鲍骋资料
Chika SATO
?
PDF
Postgre sqlから見るnosql
Soudai Sone
?
PPTX
NS & NSID of Amazon Route 53
@ otsuka752
?
PPTX
OLD_LT_DNS_OLD
@ otsuka752
?
PPTX
OLD_Lt traffic analyse_OLD
@ otsuka752
?
PPTX
Hijack the domain name
@ otsuka752
?
PDF
Route53 で親子同居
@ otsuka752
?
PDF
reusable delegation set のススメ (Route53)
@ otsuka752
?
PDF
DNS64 (El capitan and unbound-1.5.1)
@ otsuka752
?
PDF
raspi + soracom #pakeana33
@ otsuka752
?
PDF
192.0.0.4 on android
@ otsuka752
?
PDF
a little more about CaptureFilter
@ otsuka752
?

More Related Content

What's hot (12)

PPTX
Hard-Disk
Na Da
?
PDF
DNS 入門
Sho A
?
PDF
Osh2014
Soudai Sone
?
PPTX
qpstudy 2014.04 ミドルウェア設計の勘所
Masahiro NAKAYAMA
?
PDF
Web エンシ?ニアか? postgre sql を選ふ? 3 つの理由
Soudai Sone
?
PDF
贰肠2での诲颈蝉办拡张方法
Takamasa Sakai
?
PDF
中国地方顿产勉强会
Soudai Sone
?
PPTX
ゲームキャストDiscord 1周年放送
壽久 寺島
?
PDF
20120913 nosql@hikarie(okuyama fuse)
Takahiro Iwase
?
PDF
翱厂颁北海道2014冲闯笔鲍骋资料
Chika SATO
?
PDF
Postgre sqlから見るnosql
Soudai Sone
?
Hard-Disk
Na Da
?
DNS 入門
Sho A
?
Osh2014
Soudai Sone
?
qpstudy 2014.04 ミドルウェア設計の勘所
Masahiro NAKAYAMA
?
Web エンシ?ニアか? postgre sql を選ふ? 3 つの理由
Soudai Sone
?
贰肠2での诲颈蝉办拡张方法
Takamasa Sakai
?
中国地方顿产勉强会
Soudai Sone
?
ゲームキャストDiscord 1周年放送
壽久 寺島
?
20120913 nosql@hikarie(okuyama fuse)
Takahiro Iwase
?
翱厂颁北海道2014冲闯笔鲍骋资料
Chika SATO
?
Postgre sqlから見るnosql
Soudai Sone
?

More from @ otsuka752 (20)

PPTX
NS & NSID of Amazon Route 53
@ otsuka752
?
PPTX
OLD_LT_DNS_OLD
@ otsuka752
?
PPTX
OLD_Lt traffic analyse_OLD
@ otsuka752
?
PPTX
Hijack the domain name
@ otsuka752
?
PDF
Route53 で親子同居
@ otsuka752
?
PDF
reusable delegation set のススメ (Route53)
@ otsuka752
?
PDF
DNS64 (El capitan and unbound-1.5.1)
@ otsuka752
?
PDF
raspi + soracom #pakeana33
@ otsuka752
?
PDF
192.0.0.4 on android
@ otsuka752
?
PDF
a little more about CaptureFilter
@ otsuka752
?
PDF
iptables BPF module 効果測定
@ otsuka752
?
PDF
how to defend DNS authoritative server against DNS WaterTorture
@ otsuka752
?
PDF
how to decrypt SSL/TLS without PrivateKey of servers
@ otsuka752
?
PDF
WireEdit のススメ
@ otsuka752
?
PDF
Measurement of Maximum new NAT-sessions per second / How to send packets
@ otsuka752
?
PDF
about tcpreplay-edit
@ otsuka752
?
PDF
萌え萌えドメイン名一覧(.尘辞别)
@ otsuka752
?
PDF
about Tcpreplay
@ otsuka752
?
PDF
パケットが教えてくれた ルートサーバが 13個の理由
@ otsuka752
?
PDF
how to GET GET
@ otsuka752
?
NS & NSID of Amazon Route 53
@ otsuka752
?
OLD_LT_DNS_OLD
@ otsuka752
?
OLD_Lt traffic analyse_OLD
@ otsuka752
?
Hijack the domain name
@ otsuka752
?
Route53 で親子同居
@ otsuka752
?
reusable delegation set のススメ (Route53)
@ otsuka752
?
DNS64 (El capitan and unbound-1.5.1)
@ otsuka752
?
raspi + soracom #pakeana33
@ otsuka752
?
192.0.0.4 on android
@ otsuka752
?
a little more about CaptureFilter
@ otsuka752
?
iptables BPF module 効果測定
@ otsuka752
?
how to defend DNS authoritative server against DNS WaterTorture
@ otsuka752
?
how to decrypt SSL/TLS without PrivateKey of servers
@ otsuka752
?
WireEdit のススメ
@ otsuka752
?
Measurement of Maximum new NAT-sessions per second / How to send packets
@ otsuka752
?
about tcpreplay-edit
@ otsuka752
?
萌え萌えドメイン名一覧(.尘辞别)
@ otsuka752
?
about Tcpreplay
@ otsuka752
?
パケットが教えてくれた ルートサーバが 13個の理由
@ otsuka752
?
how to GET GET
@ otsuka752
?
Ad

Recently uploaded (7)

PPTX
色について.pptx .
iPride Co., Ltd.
?
PDF
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PDF
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
PPTX
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
色について.pptx .
iPride Co., Ltd.
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Ad

超簡単!? Punycode 変換 ~国際化?日本語ドメイン~

  • 1. 超簡単!? Punycode 変換 ~国際化?日本語ドメイン~ 2014/10/18 DNS Spa 2014 Autumn @otsuka752 (@twovs)
  • 2. agenda ? 自己紹介 ? 国際化ドメインの仕組み ?? 名前解決の方法 ? 逆変換してみた(.moe)
  • 3. about me ? @otsuka752 (@twovs) ? ネコ2人+奥さん1人+可愛い娘 ?? 無線LLAANN装置の開発((11999999~~22000044)) ? オンラインゲームのシステム管理者(2004~) ? ただし,ゲームには全く興味無し ? ZFS 最高!!! beadm 便利!!!
  • 4. 国際化ドメイン インターネットで使われるドメイン名にアル ファベットや数字以外に漢字、アラビア文字、 キリル文字、ギリシア文字なども使えるように する仕組み。 日本語であれば日本語ドメイン名とも呼ばれる。 抜粋) http://ja.wikipedia.org/wiki/国際化ドメイン名
  • 5. 国際化ドメイン名の例 ? 例えば下記のURL のドメイン名 ? http://日本語.jp/ (.jp は半角) ?? hhttttpp::////日本語。jjpp// ((。jjpp は全角)) ? http://浸透いうな.moe/
  • 6. 国際化ドメイン名の例 ? 下記URL のドメイン名は使えない ? http://日本。。jp/ ?? hhttttpp::////日本_。jjpp// ? http://浸透いうな!.moe/
  • 7. 仕組みの概要 ? DNS の仕組みは通常通り ? Web ブラウザなどのアプリケーションが頑張る 1. 文字列を正規化 2. 7bit ASCII 文字列への変換 3. 通常通りDNS で名前解決
  • 8. 1.文字列の正規化 ? 一定の標準形に正規化(NAMEPREP) ? たとえば、全角の「。」は半角の「.」に ?? 全角の「jjpp」は半角の「jjpp」に ? アルファベットの大文字は全て小文字に 日本語。jp => 日本語.jp
  • 9. 2. 7bit ASCII 文字列への変換 ? 正規化された文字列を Punycode(ピュニコード)(後述)で符号化 ?? 既存のDDNNSS の仕組みに合わせた 7bit ASCII 文字列に変換 日本語.jp => xn--wgv71a119e.jp
  • 10. 3.通常通りDNS で名前解決 ? ここから先は通常通り… xn--wgv71a119e.jjpp ==>> 119922..00..22..11 ((例))
  • 11. 国際化ドメイン名の例 ? 下記URL のドメイン名は使えない ? http://日本。。jp/ ‘.’ dot が連続 ?? hhttttpp::////日本_。jjpp// ‘‘__’’ uunnddeerrssccoorree ? http://浸透いうな!.moe/ ‘!’ exclamation ? ‘,’全角カンマは使えない ‘、’全角読点は使える
  • 12. Punycode(ピュニコード) 国際化ドメイン名で使われる文字符号化方式で、 RFC 3492 で定義されている。 UUnniiccooddee で書かれた文字列をDDNNSS内の制限された 文字コード空間でも使えるようにするための方 式で、ユーザーエージェントの実装に依存する。 抜粋) http://ja.wikipedia.org/wiki/Punycode
  • 13. 変換?逆変換する方法 ? RFC3492 Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA) http://tools.ietf.org/html/rfc3492 ? libidn - GNU IDN Library C/C++/C#/Java API/Emacs API http://www.gnu.org/software/libidn/
  • 14. 変換?逆変換する方法 ? JPRS 日本語JPドメイン名のPunycode 変換?逆変換 http://punycode.jp/ ※日本語JP ドメインだけでなく 任意の文字列をencode/decode
  • 15. 簡単!? 変換?逆変換 $ curl -F 'str=XN--68J9BUB3E.moe' http://(snip).jp/ (snip) <tr><td>正規化後</td><td>:</td><td>しまぱん.moe</td></tr> <tr><td>Punycode</td><td>:</td><td>xn--68j9bub3e.moe</td></tr> (snip) $ wget -O - --post-data='str=しまぱん.moe' http://(snip).jp/ (snip) <tr><td>正規化後</td><td>:</td><td>しまぱん.moe</td></tr> <tr><td>Punycode</td><td>:</td><td>xn--68j9bub3e.moe</td></tr> (snip)
  • 16. 逆変換してみた(.moe) ? 気まぐれにDNSSEC walk してみた方が!? http://www.e-ontap.com/blog/20140924.html http://www.e-ontap.com/misc/moe.txt ? 気まぐれに逆変換してみた http://www.slideshare.net/twovs/moe-39625501
  • 17. .moe ドメイン一部抜粋 ヒーローズ.moe XN--0CK4B4DTCB.moe 先生.moe XN--44QR78F.moe さん.moe XN--48JWG.moe シテラさん.moe XN--48JWG5DOCWJ.moe しまぱん.moe XN--68J9BUB3E.moe 秋葉原.moe XN--8MR310GI6G.moe 百合.moe XN--8PRV51F.moe 耳.moe XN--BY0A.moe 真姫.moe XN--BYS929D.moe 西木野真姫.moe XN--BYSX12ALOMT1R5PJ.moe
  • 18. END