Section Next | Prev


014 digx - IP逆引き

概要
ホスト名からIPアドレスを引き、さらに得られたIPアドレスから ホスト名を逆引きし複数のサーバー群の正式名称を得る。

スクリプトと解説 - [text]
#スクリプト解説
1#! /bin/bash #
2echo "$1 are:" #
3dig $1 | grep "^[^;].*[ \t]*" | while [ 0 ] # dig の結果のうち有効行(先頭が ; で始まらない物)を抽出
4do # while [ 0 ] は無限ループで、(7)までを繰り返す
5        read name pri in a addr || break # dig の抽出結果を変数 name, pri, in, a, addr に格納。終了時にはループを終了
6        dig -x $addr | egrep "^[^;].*in-addr.arpa.*PTR" # IPアドレスを元に逆引きし、PTR エントリを抽出
7done |sort +4 # 逆引き結果をIPアドレス辞書順に並び替え

実行例
$ dig www.yahoo.co.jp
; <<>> DiG 9.2.4 <<>> www.yahoo.co.jp
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30109
;; flags: qr rd ra; QUERY: 1, ANSWER: 12, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.yahoo.co.jp.		IN	A

;; ANSWER SECTION:	# 以下を最初の grep で抽出
www.yahoo.co.jp.	300	IN	A	203.216.247.225
www.yahoo.co.jp.	300	IN	A	203.216.247.249
www.yahoo.co.jp.	300	IN	A	124.83.139.191
www.yahoo.co.jp.	300	IN	A	124.83.147.202
www.yahoo.co.jp.	300	IN	A	124.83.147.203
www.yahoo.co.jp.	300	IN	A	124.83.147.204
www.yahoo.co.jp.	300	IN	A	124.83.147.205
www.yahoo.co.jp.	300	IN	A	124.83.167.212
www.yahoo.co.jp.	300	IN	A	203.216.231.160
www.yahoo.co.jp.	300	IN	A	203.216.235.154
www.yahoo.co.jp.	300	IN	A	203.216.235.201
www.yahoo.co.jp.	300	IN	A	203.216.243.218

;; Query time: 4 msec
;; SERVER: 172.19.0.1#53(172.19.0.1)
;; WHEN: Sun Nov 25 12:34:30 2007
;; MSG SIZE  rcvd: 225

$ digx www.yahoo.co.jp
www.yahoo.co.jp are:
191.139.83.124.in-addr.arpa. 900 IN	PTR	f2.top.vip.ogk.yahoo.co.jp.
160.231.216.203.in-addr.arpa. 900 IN	PTR	f2.top.vip.tnz.yahoo.co.jp.
205.147.83.124.in-addr.arpa. 900 IN	PTR	f3.top.vip.ogk.yahoo.co.jp.
201.235.216.203.in-addr.arpa. 900 IN	PTR	f3.top.vip.tnz.yahoo.co.jp.
204.147.83.124.in-addr.arpa. 900 IN	PTR	f4.top.vip.ogk.yahoo.co.jp.
218.243.216.203.in-addr.arpa. 900 IN	PTR	f4.top.vip.tnz.yahoo.co.jp.
203.147.83.124.in-addr.arpa. 900 IN	PTR	f5.top.vip.ogk.yahoo.co.jp.
249.247.216.203.in-addr.arpa. 900 IN	PTR	f5.top.vip.tnz.yahoo.co.jp.
202.147.83.124.in-addr.arpa. 900 IN	PTR	f6.top.vip.ogk.yahoo.co.jp.
225.247.216.203.in-addr.arpa. 900 IN	PTR	f6.top.vip.tnz.yahoo.co.jp.
212.167.83.124.in-addr.arpa. 900 IN	PTR	f7.top.vip.ogk.yahoo.co.jp.
154.235.216.203.in-addr.arpa. 900 IN	PTR	f7.top.vip.tnz.yahoo.co.jp.


Section Next | Prev