ドメイン名から正引きしてから逆引きをするスクリプト

だーれも知らない知られちゃいけーないー。
たけけんが誰なのかー。

こんばんわ、たけけんです。

 

このブログのことは実は誰にも言ってないので、回りの人間はこのブログを誰も知らないのだ。
決して裏切りものという訳ではない。
なんて言ってもこんなネタはおっさんしか分からんだろうな。

 

って事で今回は仕事中にこれが使えたら便利だなあって事で作ってみた。
ググってみたら結構見つかるんだけど、CGIでウェブ上で使えるところばっかりで、ソースを公開しているところは見つからなかったのだ、ターミナルで使うからそれじゃ意味ないので作ってみた。

ビール飲みながら、サミーの777Townで遊びながら書いてたけど、何故かすんなりできた。
業務中にもちょこちょこやってたが、まったく上手くいかなかったのがすんなりと上手くいった。
ちょっとgrepに拘りすぎていた、あの頃の僕たち。

 

何に使うんだっても、自分しか分からないかな。

でもいいんだ、なぜなら

自分用なのだから

スクリプトはもちろん公開する、OSSだ。

#!/bin/sh

echo -n "Domain? > "

read ip

abc=`nslookup $ip | sed -n '6p' | sed -e "s/^.\{8\}//"`

echo Address: $abc

nslookup $abc | sed -n '5p' | sed -e "s/^.\{29\}//"

実行するとこんな感じになる。

$ ./nslookup.sh
Domain? > yahoo.co.jp
Address: 124.83.187.140
ame = f11.top.vip.ogk.yahoo.co.jp.

$ ./nslookup.sh
Domain? > google.co.jp
Address: 74.125.31.94
e = tb-in-f94.1e100.net.

$ ./nslookup.sh
Domain? > wikipedia.org
Address: 208.80.152.201
ame = wikipedia-lb.pmtpa.wikimedia.org.

 

ざっくりだ。
プログラマーが見たら、きたねーなと思うかもしれない。

でもいいんだ、なぜなら

自分用なのだから。

1・26 追記

自分用なのだが、ちょっと変えてみた

#!/bin/sh

echo -n "Domain? > "

read ip

abc=`nslookup $ip | sed -n '6p' | grep -o -e '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+'`

echo Address: $abc

xyz=`nslookup $abc | sed -n '5p'`

echo Hostname: $xyz

 

こっちの方がいいけど、まだ名前解決ができなかった時の対処をしてないんだなこれが。

 

ん~まあ、とりあえずはいいかな、なぜなら

 

自分用なのだから。

 

2013/01/27 1:17 追記と修正

ようやく完成しました、NXDOMAINになっちゃった時も分岐させました。
これだけやればそこそこみれるようにはなってるかなぁ。

#!/bin/sh
echo -n "Domain? > "
read ip
kiriwake=`nslookup $ip | grep NXDOMAIN | grep -o -e 'NXDOMAIN'`
if [ "NXDOMAIN" != "${kiriwake}" ];
then
abc=`nslookup $ip | sed -n '6p' | grep -o -e '[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+'`;
echo Address: $abc;
xyz=`nslookup $abc | sed -n '5p';
echo Hostname: $xyz;
elif [ "NXDOMAIN" = "${kiriwake}" ];
then echo no nslookup
break
fi

FreeBSDで動かなかったので、ちょっと修正しました。
いつものコピペじゃなくて、マニュアルを見て作ったから当たり前だけど、今回は自分で作った感を感じる(笑)

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *