脚本介绍

  • 多DNS解析(目前支持最多3个目标DNS服务器)
  • 支持解析域名的A记录和CNAME记录
  • 自定义DNS,内网DNS服务器,或公网DNS
  • 多域名同时从目标DNS解析记录(脚本从文本读取域名列表)

实现代码

#!/bin/bash
#Author:cosann
#Create Time:20220714
#Description:批量解析域名A记录和CNAME记录脚本#初始化DNS服务器
dns1=$1
dns2=$2
dns3=$3#初始化解析库
dns_file=$4#DNS检测函数定义
function Ping_Stat_1 (){ping -w 1 $dns1 &> /dev/nullif [ "`echo $?`" == 0 ]thenreturn 100elsereturn 200fi
}
function Ping_Stat_2 (){ping -w 1 $dns2 &> /dev/nullif [ "`echo $?`" == 0 ]thenreturn 100elsereturn 200fi
}
function Ping_Stat_3 (){ping -w 1 $dns3 &> /dev/nullif [ "`echo $?`" == 0 ]thenreturn 100elsereturn 200fi
}echo -e "DNS连通性检测中,请稍等"#DNS检测函数调用
Ping_Stat_1
code1=`echo $?`Ping_Stat_2
code2=`echo $?`Ping_Stat_3
code3=`echo $?`#DNS解析控制及解析功能实现
if [ "$code1" == 100 ];thenecho -e "DNS:$dns1 OK\n"echo -e "DNS1(IP:$dns1)"echo -e "域名\t\t\tA记录/CNAME 记录"cat $dns_file | while read linedodig @$dns1  $line A +short | sed "s/^/$line\t\t/g" doneecho -e "\n"
elseecho -e "DNS:$dns1 NG" && echo -e "目标DNS网络不可达!"
fiif [ "$code2" == 100 ];thenecho -e "DNS:$dns2 OK\n"echo -e "DNS2(IP:$dns2)"echo -e "域名\t\t\tA记录/CNAME记录"cat $dns_file | while read linedodig @$dns2  $line A +short | sed "s/^/$line\t\t/g" doneecho -e "\n"
elseecho -e "DNS:$dns2 NG" && echo -e "目标DNS网络不可达!"
fi if [ "$code3" == 100 ];thenecho -e "DNS:$dns3 OK\n"echo -e "DNS3(IP:$dns3)"echo -e "域名\t\t\tA记录/CNAME记录"cat $dns_file | while read linedodig @$dns3  $line A +short  | sed "s/^/$line\t\t/g" done
elseecho -e "DNS:$dns3 NG" && echo -e "目标DNS网络不可达!"
fi

使用方法

例如脚本文件为dns_get.sh

#脚本文件 DNS1 DNS2 DNS3 存放域名的文件
./dns_get.sh dns1 dns2 dns3 dns_list#示例(当前目录下有存放域名记录的文件dns_list.txt)
./dns_get.sh 114.114.114.114 8.8.8.8 192.168.1.1 dns_list.txt

关于域名文本文件

1. 如果域名文本文件和脚本文件在同一目录,可以使用上面方法运行脚本,否则使用绝对路径指定域名文本文件
2.域名文件格式注意不要使用URL,例如pan.baxdu.com/?from=1026962h(中间有/),应该使用标准域名pan.baidu.com

使用案例

1. 当前目录下文件

2. 运行脚本(脚本需要有执行权限)

3. 运行结果


心得分享

如果有大量的域名需要解析,可以使用该脚本一键解决,该脚本目前只是实现了一些基本功能,还有很多可以扩展的地方,例如逆向解析PTR记录,如果你有想法,欢迎提出。

shell脚本实现批量解析域名IP地址(支持多DNS)相关推荐

  1. Shell脚本实现多选DNS同时批量解析域名IP地址(新更新)

    背景前文 该脚本是在原先<shell脚本实现批量解析域名IP地址(支持多DNS)>的基础上再进行了代码逻辑优化和小细节代码更新,重要变动部分如下: 增加任意多选DNS逻辑,即执行时可不选定 ...

  2. centos7 shell 获取ip_Linux Shell脚本中获取本机ip地址方法

    方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "a ...

  3. Shell脚本中获取本机ip地址,Linux获取本地ip地址

    在 Shell 脚本中获取本机 IP 地址可以通过多种方式实现,这里介绍三种常用的方法: 1. 使用 ifconfig 命令获取本机 IP 地址 ifconfig 命令可以获取本机网卡的配置信息,包括 ...

  4. 如何利用excel批量提取域名IP地址?

    今天跟大家分享一下如何利用excel批量提取域名IP地址? 1.首先我们打开Excel软件,录入要查询的域名并选中数据单元格区域 2.接着我们点击[DIY工具箱] 3.点击[更多]选择[查询域名的IP ...

  5. 编写一个shell脚本程序,检测指定IP地址的主机是否在线

    编写一个脚本程序,检测指定IP地址的主机是否在线,如果在线则显示输出Online,否则输出Offline checkhost.sh [root@exam ~]# cd scripts [root@ex ...

  6. shell脚本自动记录登陆后 的IP地址和历史记录

    转载 http://ruilinux.blog.51cto.com/4265949/845405  今天一台线上的服务器不知道被哪个活宝执行了chmod -R 700 /home,造成了文件权限不对, ...

  7. Shell脚本中获取本机ip地址

    1.单网卡 方法1: #!/bin/sh local_ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2} ...

  8. C++ 实现 ping 功能 域名(URL)解析实际 IP地址

    1.简述 一般情况下,我们想知道在当前电脑设备环境下,某一个网址能不能访问,最简单的方法是win + R 键 ,输入cmd,召唤cmd命令行程序,然后直接用ping命令 + 网址 来看返回的结果,那么 ...

  9. 5 个用于在 Linux 终端中查找域名 IP 地址的命令

    5 个用于在 Linux 终端中查找域名 IP 地址的命令 本教程介绍了如何在 Linux 终端验证域名或计算机名的 IP 地址.本教程将允许你一次检查多个域.你可能已经使用过这些命令来验证信息.但是 ...

最新文章

  1. html5简单拖拽实现自动左右贴边+幸运大转盘
  2. matlab s% d%,matlab中var函数的翻译For N-D arrays, VAR operates along the first
  3. UVA 1366 Martian Mining DP
  4. 网络地址和广播地址的作用
  5. R学习笔记:运行时间记录
  6. 【模拟】签订协议(nowcoder 217601)
  7. TeamViewer - 最好用强大的免费跨平台远程桌面控制软件 (支持电脑和手机)
  8. 服务器主板稳定,服务器主板
  9. 设计模式 - 策略模式Strategy
  10. 4行代码,Python玩转美图秀秀
  11. 信息录入率百分百上海强化施工现场建筑工人实名制管理
  12. 五大常用百度高级搜索语法
  13. 多模块项目提示“Module ** must not contain source root **. The root already belongs to module **”的解决办法
  14. 用HTML+CSS做一个简单的新闻门户 1页网页
  15. untiy Resorces目录动态加载资源
  16. 友元介绍以及实例说明
  17. 2-快速攻破vuex五大核心-附案例源码
  18. “全包”给装修公司,验收时发现甲醛超标,能要求重装或赔偿吗?
  19. Java多态练习宠物喂食
  20. 线性代数系列(三)--向量空间

热门文章

  1. 圆柱体的投影特点_圆柱体三面投影作图方法分析
  2. 极速办公(excel)如何快速计算排名
  3. 成都计算机专业考研难度排名,成都计算机考研难度排行榜
  4. ArcGIS Pro 加载项(5)——以“亩”为单位统计地块面积
  5. vue--后台管理系统问题和功能实现思路集锦
  6. 带你认识磁性材料及下游产品全球主流认证标识
  7. php imap 库_php imap_open 实例教程
  8. win7安全模式如何打开计算机管理,Win7安全模式怎么进?Win7进入安全模式方法
  9. Aziz 的 UiPath 工具面试经验
  10. Android 鼠标样式修改