だーれも知らない知られちゃいけーないー。
たけけんが誰なのかー。
こんばんわ、たけけんです。
このブログのことは実は誰にも言ってないので、回りの人間はこのブログを誰も知らないのだ。
決して裏切りものという訳ではない。
なんて言ってもこんなネタはおっさんしか分からんだろうな。
って事で今回は仕事中にこれが使えたら便利だなあって事で作ってみた。
ググってみたら結構見つかるんだけど、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で動かなかったので、ちょっと修正しました。
いつものコピペじゃなくて、マニュアルを見て作ったから当たり前だけど、今回は自分で作った感を感じる(笑)