|
|
51CTO旗下网站
|
|
移动端

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

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

作者:Magesh Maruthamuthu来源:Linux中国|2019-12-03 09:00

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

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

可以使用以下 5 个命令来完成此操作。

  • dig 命令:它是一个用于查询 DNS 名称服务器的灵活命令行工具。
  • host 命令:它是用于执行 DNS 查询的简单程序。
  • nslookup 命令:它用于查询互联网域名服务器。
  • fping 命令:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。
  • ping 命令:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。

为了测试,我们创建了一个名为 domains-list.txt 的文件,并添加了以下域。

  1. # vi /opt/scripts/domains-list.txt
  2.  
  3. 2daygeek.com
  4. magesh.co.in
  5. linuxtechnews.com

方法 1:如何使用 dig 命令查找域的 IP 地址

dig 命令代表 “域名信息抓手Domain Information Groper”,它是一个功能强大且灵活的命令行工具,用于查询 DNS 名称服务器。

它执行 DNS 查询,并显示来自查询的名称服务器的返回信息。大多数 DNS 管理员使用 dig 命令来解决 DNS 问题,因为它灵活、易用且输出清晰。

它还有批处理模式,可以从文件读取搜索请求。

  1. # dig 2daygeek.com | awk '{print $1,$5}'
  2.  
  3. 2daygeek.com. 104.27.157.177
  4. 2daygeek.com. 104.27.156.177

使用以下 bash 脚本查找多个域的 IP 地址。

  1. # vi /opt/scripts/dig-command.sh
  2.  
  3. #!/bin/bash
  4. for server in `cat /opt/scripts/domains-list.txt`
  5. do echo $server "-"
  6. dig $server +short
  7. done | paste -d " " - - -

添加以上内容到脚本后,给 dig-command.sh 文件设置可执行权限。

  1. # chmod +x /opt/scripts/dig-command.sh

最后运行 bash 脚本获得输出。

  1. # sh /opt/scripts/dig-command.sh
  2.  
  3. 2daygeek.com - 104.27.156.177 104.27.157.177
  4. magesh.co.in - 104.18.35.52 104.18.34.52
  5. linuxtechnews.com - 104.27.144.3 104.27.145.3

如果要在一行中运行上面的脚本,请使用以下脚本。

  1. # for server in 2daygeek.com magesh.co.in linuxtechnews.com; do echo $server "-"; dig $server +short; done | paste -d " " - - -

或者,你可以使用以下 Shell 脚本查找多个域的 IP 地址。

  1. # for server in 2daygeek.com magesh.co.in linuxtechnews.com; do dig $server | awk '{print $1,$5}'; done
  2.  
  3. 2daygeek.com. 104.27.157.177
  4. 2daygeek.com. 104.27.156.177
  5. magesh.co.in. 104.18.34.52
  6. magesh.co.in. 104.18.35.52
  7. linuxtechnews.com. 104.27.144.3
  8. linuxtechnews.com. 104.27.145.3

方法 2:如何使用 host 命令查找域的 IP 地址

host 命令是一个简单的命令行程序,用于执行 DNS 查询。它通常用于将名称转换为 IP 地址,反之亦然。如果未提供任何参数或选项,host 将打印它的命令行参数和选项摘要。

你可以在 host 命令中添加特定选项或记录类型来查看域中的所有记录类型。

  1. # host 2daygeek.com | grep "has address" | sed 's/has address/-/g'
  2.  
  3. 2daygeek.com - 104.27.157.177
  4. 2daygeek.com - 104.27.156.177

使用以下 bash 脚本查找多个域的 IP 地址。

  1. # vi /opt/scripts/host-command.sh
  2.  
  3. for server in `cat /opt/scripts/domains-list.txt`
  4. do host $server | grep "has address" | sed 's/has address/-/g'
  5. done

添加以上内容到脚本后,给 host-command.sh 文件设置可执行权限。

  1. # chmod +x /opt/scripts/host-command.sh

最后运行 bash 脚本获得输出。

  1. # sh /opt/scripts/host-command.sh
  2.  
  3. 2daygeek.com - 104.27.156.177
  4. 2daygeek.com - 104.27.157.177
  5. magesh.co.in - 104.18.35.52
  6. magesh.co.in - 104.18.34.52
  7. linuxtechnews.com - 104.27.144.3
  8. linuxtechnews.com - 104.27.145.3

方法 3:如何使用 nslookup 命令查找域的 IP 地址

nslookup 命令是用于查询互联网域名服务器(DNS)的程序。

nslookup 有两种模式,分别是交互式和非交互式。交互模式允许用户查询名称服务器以获取有关各种主机和域的信息,或打印域中的主机列表。非交互模式用于仅打印主机或域的名称和请求的信息。

它是一个网络管理工具,可以帮助诊断和解决 DNS 相关问题。

  1. # nslookup -q=A 2daygeek.com | tail -n+4 | sed -e '/^$/d' -e 's/Address://g' | grep -v 'Name|answer' | xargs -n1
  2.  
  3. 104.27.157.177
  4. 104.27.156.177

使用以下 bash 脚本查找多个域的 IP 地址。

  1. # vi /opt/scripts/nslookup-command.sh
  2.  
  3. #!/bin/bash
  4. for server in `cat /opt/scripts/domains-list.txt`
  5. do echo $server "-"
  6. nslookup -q=A $server | tail -n+4 | sed -e '/^$/d' -e 's/Address://g' | grep -v 'Name|answer' | xargs -n1 done | paste -d " " - - -

添加以上内容到脚本后,给 nslookup-command.sh 文件设置可执行权限。

  1. # chmod +x /opt/scripts/nslookup-command.sh

最后运行 bash 脚本获得输出。

  1. # sh /opt/scripts/nslookup-command.sh
  2.  
  3. 2daygeek.com - 104.27.156.177 104.27.157.177
  4. magesh.co.in - 104.18.35.52 104.18.34.52
  5. linuxtechnews.com - 104.27.144.3 104.27.145.3

方法 4:如何使用 fping 命令查找域的 IP 地址

fping 命令是类似 ping 之类的程序,它使用互联网控制消息协议(ICMP)echo 请求来确定目标主机是否响应。

fpingping 不同,因为它允许用户并行 ping 任意数量的主机。另外,它可以从文本文件输入主机。

fping 发送 ICMP echo 请求,并以循环方式移到下一个目标,并且不等到目标主机做出响应。

如果目标主机答复,那么将其标记为活动主机并从要检查的目标列表中删除;如果目标在特定时间限制和/或重试限制内未响应,那么将其指定为不可访问。

  1. # fping -A -d 2daygeek.com magesh.co.in linuxtechnews.com
  2.  
  3. 104.27.157.177 (104.27.157.177) is alive
  4. 104.18.35.52 (104.18.35.52) is alive
  5. 104.27.144.3 (104.27.144.3) is alive

方法 5:如何使用 ping 命令查找域的 IP 地址

ping 命令数据包互联网抓手Packet Internet Groper)是一个网络程序,用于测试 Internet 协议(IP)网络上主机的可用性/连接性。

通过向目标主机发送互联网控制消息协议(ICMP)Echo 请求数据包并等待 ICMP Echo 应答来验证主机的可用性。

它基于发送的数据包、接收的数据包、丢失的数据包,通常包含最小/平均/最大时间来汇总统计结果。

  1. # ping -c 2 2daygeek.com | head -2 | tail -1 | awk '{print $5}' | sed 's/[(:)]//g'
  2.  
  3. 104.27.157.177

使用以下 bash 脚本查找多个域的 IP 地址。

  1. # vi /opt/scripts/ping-command.sh
  2.  
  3. #!/bin/bash
  4. for server in `cat /opt/scripts/domains-list.txt`
  5. do echo $server "-"
  6. ping -c 2 $server | head -2 | tail -1 | awk '{print $5}' | sed 's/[(:)]//g'
  7. done | paste -d " " - -

添加以上内容到脚本后,给 ping-command.sh 文件设置可执行权限。

  1. # chmod +x /opt/scripts/ping-command.sh

最后运行 bash 脚本获得输出。

  1. # sh /opt/scripts/ping-command.sh
  2.  
  3. 2daygeek.com - 104.27.156.177
  4. magesh.co.in - 104.18.35.52
  5. linuxtechnews.com - 104.27.144.3

【编辑推荐】

  1. Linux用户宝典:避免或防止意外关机或重启的5种方法
  2. Linux Shell命令总结
  3. 了解Linux I/O 调度器,优化系统性能
  4. 如何在Fedora 30 Server上安装LEMP(Linux、Nginx、MariaDB、PHP)
  5. 相见恨晚的15个 Linux 神器,你可能一个都没见过
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

403人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

151人订阅学习

CentOS 8 全新学习术

CentOS 8 全新学习术

CentOS 8 正式发布
共16章 | UbuntuServer

291人订阅学习

视频课程+更多

强哥带你精通OpenStack私有云

强哥带你精通OpenStack私有云

讲师:周玉强48185人学习过

Java项目实战上卷[SpringBoot/SpringCloud/RabbitMQ/Redis]

Java项目实战上卷[SpringBoot/SpringCloud/Ra

讲师:鸟哥教育38043人学习过

强哥带你精通tomcat

强哥带你精通tomcat

讲师:周玉强4704人学习过

读 书 +更多

嬴在用户:Web人物角色创建和应用实践指南

您如何保证您的网站确实给予用户他们所需要的,并对您产生商业成果?您需要了解谁是您的用户,您的用户的目标、行为和观点是什么,还要把他...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微