Net_DNS2 を使ってみた

こんにちは。大城佳明@インターン生です。

今回はPEARパッケージのNet_DNS2クラスのサンプルコードを作成ました。

Net_DNSとは?
DNS サーバから返ってくる DNS パケットの解析と操作、そして DNS パケットの送受信のためのいくつかのメソッドを提供します。

PEARパッケージには Net_DNSNet_DNS2 があります。
当初はNet_DNSを使ってみる予定でしたが、Net_DNSのページに飛ぶと。。。

スクリーンショット 2014-01-31 15.41.12
セキュリティとかバグがまだあるから Net_DNS2を使えよ。って言ってたので、言われた通りNet_DNS2を使うことにしました。

Net_DNS2 の特徴

  • PHP5に対応している。
  • パフォーマンス向上:Net_DNSより2〜10倍早い。
  • IPv4とIPv6、TCPとUDPソケットのサポート。
  • Updaterクラスが追加されている。( まだよくわかってない。)
  • 共有メモリやフラットファイルを使用して、パフォーマンスの改善をしている。
  • RR(Resource Records Supported)の数が増えた。

まずは動く環境を用意。(CentOS6.3 , PHP5.3.3)

$ yum -y install php-pear
$ pear install Net_DNS2

早速サンプルコードを書いてみました。

Sample(Net_DNS2)

33行: require_once ‘Net/DNS2.php’;   Pearでインストールしたライブラリを読み込む。
75行: 公開ネームサーバ(8.8.8.8)からリクエストを送る。
81行: ホストにrecordのリクエストを送る。
89行: $result->answer にリクエストのレスポンスが返ってくる。

サンプルコードはちゃんと動きました。ただ、RRの種類をすべて把握しているわけではないので、どれが必要でどれがいらないのかよくわかってないです。
あとUpdaterクラスの使い方もよくわかってないです。
次はNet_DNS2を使って必要なDNSの情報を取ってくるようにします。
時間があればRRの種類とUpdaterクラスについて調べてみようかと思います。

広告
%d人のブロガーが「いいね」をつけました。