Net_DNS_Resolver::axfr()

Net_DNS_Resolver::axfr() – ネームサーバからのゾーン転送を行う

Synopsis

require_once('Net/DNS.php');

Net_DNS_Packet Net_DNS_Resolver::axfr ( string $dname , string $class = 'IN' , boolean $old = FALSE )

Description

  • dname - 転送するドメイン名(ゾーン名)

  • class - 転送するゾーンのクラス

  • old - 以前のバージョンの Net_DNS との互換性のためだけに用いられる

axfr() は、Net_DNS_Resolver->nameservers の配列で指定されている ネームサーバからのゾーン転送を試みます。 Net_DNS_Resolver::axfr()Net_DNS_Resolver::query() メソッドが使っているのと同じリゾルバ設定を利用します。

ほとんどの公開ネームサーバは、標準ではゾーン転送を許可していません。 ゾーン転送は、ゾーンファイル内の DNS リソースレコードの完全なリストを提供します。 ゾーン転送には、UDP の代わりに常に TCP が用いられます。

戻される RR オブジェクトの詳細は Net_DNS_RR を参照してください。

Example

Net_DNS_Resolver::axfr() 問い合わせの失敗例

<?php
require_once 'Net/DNS.php';

$resolver = new Net_DNS_Resolver();
$resolver->debug 1;
$response $resolver->axfr('example.com');
print_r($response);
if (
count($response) == 0) {
  echo 
"\n";
  echo 
"AXFR 失敗\n";
}
?>

出力結果:

    
;; axfr_start(example.com, IN)
;; query(example.com, AXFR, IN)
;; axfr_start(192.168.0.254:53)
;; sending 29 bytes
;; read_tcp: expecting 2 bytes
;; read_tcp: received 2 bytes
;; read_tcp: expecting 29 bytes
;; read_tcp: received 29 bytes
;; received 29bytes
;; HEADER SECTION
;; id = 29190
;; qr = 1    opcode = QUERY    aa = 0    tc = 0    rd = 1
;; ra = 1    rcode  = NOTAUTH
;; qdcount = 1  ancount = 0  nscount = 0  arcount = 0

;; QUESTION SECTION (1 record)
;;
;example.com.   IN      AXFR

;; ANSWER SECTION (0 records)

;; AUTHORITY SECTION (0 records)

;; ADDITIONAL SECTION (0 records)
Array
(
)

AXFR 失敗

次の例では、デバッグ表示が有効になっており、またネームサーバは ゾーン転送を許可するように設定されています。この例でもっとも注目すべき 箇所は、応答内容の最初と最後にある SOA レコードです。 ネームサーバがゾーン転送を行う際、最初に送られるレコードが SOA レコードです。ゾーン転送の完了後に、ネームサーバは SOA レコードを 再送します。このことは、デバッグ出力から確認できます。 axfr() の結果として戻される配列には、最後の SOA レコードは含まれません。

Net_DNS_Resolver::axfr() 問い合わせの成功例

<?php
require_once 'Net/DNS.php';

$resolver = new Net_DNS_Resolver();
$resolver->debug 1;
$response $resolver->axfr('my.example.com');
echo 
"\n\n以下のリソースレコードがネームサーバから戻されました:\n";
if (
count($response)) {
  foreach (
$response as $rr) {
    
$rr->display();
  }
}
?>

出力結果:

    
;; axfr_start(my.example.com, IN)
;; query(my.example.com, AXFR, IN)
;; axfr_start(192.168.0.254:53)
;; sending 32 bytes
;; read_tcp: expecting 2 bytes
;; read_tcp: received 2 bytes
;; read_tcp: expecting 262 bytes
;; read_tcp: received 262 bytes
;; received 262bytes
;; HEADER SECTION
;; id = 21220
;; qr = 1    opcode = QUERY    aa = 1    tc = 0    rd = 0
;; ra = 1    rcode  = NOERROR
;; qdcount = 1  ancount = 10  nscount = 0  arcount = 0

;; QUESTION SECTION (1 record)
;;
;my.example.com.        IN      AXFR

;; ANSWER SECTION (10 records)
my.example.com.         300     IN      SOA     ns1.my.example.com. hostmaster.my.example.com. 103 3600 1800 2592000 300
my.example.com.         300     IN      NS      ns1.my.example.com.
my.example.com.         300     IN      MX      10 mx1.my.example.com.
my.example.com.         300     IN      MX      20 mx2.my.example.com.
my.example.com.         300     IN      A       192.168.0.1
mx1.my.example.com.     300     IN      A       192.168.0.2
mx2.my.example.com.     300     IN      A       192.168.0.3
server.my.example.com.  300     IN      CNAME   www.my.example.com.
www.my.example.com.     300     IN      A       192.168.0.1
my.example.com.         300     IN      SOA     ns1.my.example.com. hostmaster.my.example.com. 103 3600 1800 2592000 300

;; AUTHORITY SECTION (0 records)

;; ADDITIONAL SECTION (0 records)


以下のリソースレコードがネームサーバから戻されました:
my.example.com.         300     IN      SOA     ns1.my.example.com. hostmaster.my.example.com. 103 3600 1800 2592000 300
my.example.com.         300     IN      NS      ns1.my.example.com.
my.example.com.         300     IN      MX      10 mx1.my.example.com.
my.example.com.         300     IN      MX      20 mx2.my.example.com.
my.example.com.         300     IN      A       192.168.0.1
mx1.my.example.com.     300     IN      A       192.168.0.2
mx2.my.example.com.     300     IN      A       192.168.0.3
server.my.example.com.  300     IN      CNAME   www.my.example.com.
www.my.example.com.     300     IN      A       192.168.0.1

Note

This function can not be called statically.

NPO法人の設立はお任せ下さい

NPO法人とはという基本的内容から実際のNPO法人設立まで広くお手伝いいたします。これからNPO法人をお考えの方はオススメ。NPO法人とはNon Profit Organizationの略であり、特定非営利活動法人を指します。法人なので当然に登記され、独立した人格として活動ができるようになります。

これから引越しや転勤等で賃貸物件を探すなら、賃貸大阪homeへ
アクセスカウンター
アルバイトをお探しならアルバイトスタイルへ。アルバイトを探したい方、アルバイトを探している方は必見です。
NPO法人をこれから設立したいとお考えなら自分で設立するNPO法人へ。都道府県ごとのNPO法人設立情報などを提供。NPO法人証明書も発行
株式会社をこれから設立したいとお考えなら会社設立webへ。都道府県ごとの会社設立専門家を紹介しております。
メールフォームを製作するならメールフォームbizへ。納品できるメールフォームを製作