ネタ的にはだいぶ前の話です。
1回でドメインを正引きして逆引きするというのがやりたくて、ブラウザ上ではよく見かけるのですが、コマンドラインから使えるようにしたかったが、探しても見つからなかったのでスクリプトを作ってみました。
出来上がったのがこれ
#!/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; whois $ip | sed -n '6,24p' elif [ "NXDOMAIN" = "${kiriwake}" ]; then echo no nslookup break fi
実はもうずいぶんと前から利用中なのですが、ブログには書いてませんでした。
理由はなんとなく(笑)
ほいで、今のスクリプトだとコマンドを叩くとドメインはなんでっか?という表示をして、変数に入れるという形になってるのですが、何回もやる場合はやっぱりコマンドと同時に引数として入力した方がだんぜん効率が良いということに結構前から思ってたのだけど、やっとですが変えてみた。
2段階だったのを”コマンド 引数”で1段階で結果が変えるようにしました。
原付から小型バイクになった感じです。
#!/bin/sh ip=$1 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; whois $ip | sed -n '6,24p' elif [ "NXDOMAIN" = "${kiriwake}" ]; then echo no nslookup break fi