脚本在多个域上查找名称服务器

时间:2015-04-14 23:08:27

标签: bash sed whois dig

我正在努力将客户的WHM / cPanel帐户迁移到新服务器,但是他在服务器上托管了许多我需要检索其名称服务器的网站。

我想创建一个解析文件的bash脚本(每个域在一个单独的行上),执行digwhois,找到名称服务器和IP,然后将域及其名称服务器输出到另一个文件。

我对bash不太满意,但我找到并编辑了这个剧本 - 但它似乎根本不想工作。如果有人有任何见解,这将是伟大的。谢谢!

#!/bin/bash
# dig $line +short >> ip address 
# whois $line >> Lists full details including the name servers 
# whois $line | grep "Name Server" | cut -d ":" -f 2 | sed 's/ //' | 
# sed -e :a -e '$!N;s/ \n/,/;ta'`  
while read inputfile 
do 
echo $domain  
ipaddress=`dig $domain +short` 
nameserver=`whois $domain | grep "Name Server" | cut -d ":" -f 2 |    
sed 's/ //' | sed -e :a -e '$!N;s/ \n/,/;ta'` 
echo -e "$domain,$ipaddress,$nameserver" >> outputfile
done

1 个答案:

答案 0 :(得分:0)

这将输出给定文件中域的所有可能的A和NS记录:

#!/bin/bash
while read domain 
do 

for a in `dig $domain a +short`
do
    ipaddress="$ipaddress$a,"
done

for ns in `dig $domain ns +short`
do
    nameserver="$nameserver$ns,"
done 
echo "$domain,$ipaddress,$nameserver"
done

使用

假设脚本被命名为解析器并且输入了文件。做

cat input | ./resolver

(某些域有多个IP地址和名称服务器)