shell實戰之:通過ping批量解析域名的DNS
01
通過ping批量解析域名的DNS
02
需求:從一個文件中讀入域名列表:
03
1.讀取域名列表文件。
04
列表文件格式為:
05
1.cn
06
2.cn
07
2.將解析後的ip輸出到一個文件中。
08
輸出的文件格式為:
09
DNS: 1.cn 1.1.1.1
10
DNS: 2.cn 2.2.2.2
11
#!/bin/sh
12
#code by scpman
13
#write 2013-08-22
14
#ping test
15
echo > pingok.txt
16
echo > pingfaild.txt
17
#read ip list
18
for ip in `cat ip.txt`
19
do
20
#ping one
21
res=`ping -c 1 $ip | egrep "\(.*\)" | sed -e "s/PING/DNS:/g;s/(//g;s/): 56 data bytes//g" `
22
if [ `echo "$res"| grep -c 'DNS'` -gt 0 ]
23
then
24
echo $res
25
echo $res >> pingok.txt
26
else
27
echo ping $ip fail
28
echo $ip >> pingfaild.txt
29
fi
30
done
31
保存運行之:
32
# sh a.sh
33
DNS: www.expo-china.com 222.73.238.51
34
DNS: page.china.alibaba.com 110.75.195.10
35
DNS: ad6832e5c544c20f.cdn.jiashule.com 183.61.117.103
36
ping: cannot resolve www.d1net.comexpo: Unknown host
37
ping www.d1net.comexpo fail
38
DNS: www.youxiuhui.com 219.234.4.90
39
最後查看結果:
40
成功的
41
# cat pingok.txt
42
DNS: www.expo-china.com 222.73.238.51
43
DNS: page.china.alibaba.com 110.75.195.10
44
DNS: expo.asiapump.cn 222.73.57.52
45
。。。
46
# cat pingfaild.txt
47
www.d1net.comexpo
48
www.cecsz.net
1