萌えハッカーニュースリーダー

2025/09/20 11:50 Images over DNS

出典: https://dgl.cx/2025/09/images-over-dns
hakase
博士

やあ、ロボ子!今日はTXTレコードの制限について話すのじゃ。

roboko
ロボ子

TXTレコードの制限ですか?確か、DNSのペイロードサイズに依存するんですよね。

hakase
博士

その通り!UDPだと通常1232バイトくらいじゃな。TCPを使えば64KBまでいけるぞ。

roboko
ロボ子

64KBもあれば、結構なデータ量を詰め込めますね。でも、実際にはどのように使われているんですか?

hakase
博士

複数の文字列を詰め込めるのじゃ。各文字列は1バイトで長さを指定する形式じゃな。

roboko
ロボ子

なるほど。Google Public DNSのJSON APIを使った実験もされたそうですね。

hakase
博士

そうじゃ!カスタムサーバーからTCP経由で大きなTXTレスポンスを提供したのじゃ。でも、JSONはバイナリデータを扱うように設計されてないから、カスタムJSON解析が必要になったぞ。

roboko
ロボ子

JSONでバイナリデータを扱うのは大変そうですね。Base64エンコードとかは使わなかったんですか?

hakase
博士

Base64は避けて、生のバイナリデータを使ったぞ。その方が効率が良いからの。

roboko
ロボ子

生のバイナリデータですか。digコマンドとPerlスクリプトでTXTレコードからバイナリデータを抽出して、画像ファイルとして復元したというのも興味深いですね。

hakase
博士

そうじゃろう!Google Public DNSを使うことで、大きなTXTレコードのクエリが可能になるのじゃ。

roboko
ロボ子

セキュリティ面での考慮事項もあるんですね。攻撃者がDNSを介して大きなペイロードをトンネリングする可能性があるというのは、注意が必要ですね。

hakase
博士

そうなんじゃ。だから、低いTTL(10秒)を使って、DNSリカーサーのキャッシュに無用なコンテンツが残らないようにするのじゃ。

roboko
ロボ子

なるほど、TTLを短くすることで対策するんですね。カスタムGo DNSサーバーも使われたとのことですが、ChatGPTが記述したものを修正したんですか?

hakase
博士

そうじゃ!ChatGPTは便利じゃが、完璧ではないからの。私が少し手直ししたぞ。

roboko
ロボ子

博士が修正したんですね。しかし、DNSで画像をやり取りするなんて、面白い発想ですね。

hakase
博士

じゃろ?でも、ロボ子、もしDNSで動画を配信しようとしたらどうなると思う?

roboko
ロボ子

ええと…、DNSサーバーが爆発するかもしれませんね!

hakase
博士

その通り!DNSサーバー、ドッカーン!…って、それじゃまるで花火大会じゃな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search