nslookup IPからIPを選択して変数に割り当てることができるスクリプトを作成しようとしています。
地図が必要です。よろしくお願いします。
nslookup yahoo.com | grep Address
Address: 192.168.1.1#53
Address: 98.137.11.163
Address: 74.6.231.20
Address: 98.137.11.164
Address: 74.6.231.21
Address: 74.6.143.26
Address: 74.6.143.25
Address: 2001:4998:24:120d::1:1
Address: 2001:4998:44:3507::8000
Address: 2001:4998:124:1507::f001
Address: 2001:4998:24:120d::1:0
Address: 2001:4998:124:1507::f000
Address: 2001:4998:44:3507::8001
答え1
dig
スクリプトで使用する方が簡単だと思います。住所を取得するにはを使用してくださいdig +short yahoo.com
。 1行を取得するにはこれを使用してくださいdig +short yahoo.com | head -n 1
。
答え2
速くて汚れていますが効果的です。
- Pipe
nslookup
の出力はパラメータをgrep
使用します-A1
(一致する行に1を加えた値を返します)。 - この出力をパイプして
tail -n1
最後の行のみを取得します。 - アクセス方法は、 「
sed
アドレス:」部分を削除してIPのみをインポートすることです。
例:
$ nslookup google.com | grep -A1 Name | tail -n1
Address: 2800:3f0:4004:805::200e
IPv4のみが必要な場合は、-query=A
次のパラメータを含める必要がありますnslookup
。
$ nslookup -query=A google.com | grep -A1 Name | tail -n1 | sed 's/Address: //'
216.58.222.110