so what

2011-05-01

単純なDNSのプロキシを書いてみた

RUBY

クエリの最大長っていくつだろう?

require 'socket'

HOST = '8.8.8.8' # Google DNS Server

sock = UDPSocket.open
sock.bind('', 53)

def proxy(msg)
  s = UDPSocket.open
  s.send(msg, 0, HOST, 53)
  msg = s.recvfrom(1024)[0]
  s.close
  return msg
end

loop do
  msg, (afam, port, host, ip) = sock.recvfrom(1024)
  puts "recv: #{msg.inspect}"
  sock.send(proxy(msg), 0, ip, port)
end

f:id:winebarrel:20110501213839p:image

winebarrel 2011-05-01 00:00

単純なDNSのプロキシを書いてみた
この記事をはてなブックマークに追加
Tweet
  • もっと読む
コメントを書く
« バイナリログのメモ 4/21からのEC2・RDSの障害のログ »
プロフィール
id:winebarrel id:winebarrel はてなブログPro
検索
リンク
  • Twitter
  • Bitbucket
  • GitHub
最新記事
  • RailsでMySQLのEXPLAINのやばそうなキーワードに色をつけるやつ
  • Aurora/RDS用プロダクション→ステージング レプリケーションツールを書いた
  • SpringOnion: Railsの遅そうなEXPLAINをログ出力するgem
  • CSVとかTSVをJSON LinesにするツールをGoとRustで書いた
  • qrnというDBベンチマークツールを作った
月別アーカイブ

はてなブログをはじめよう!

winebarrelさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?

はてなブログをはじめる(無料)
はてなブログとは
so what so what

Powered by Hatena Blog | ブログを報告する

スターをつけました

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる