美文网首页Linux学习|Gentoo/Arch/FreeBSDLinuxHowtoLinux
如何在Linux中通过命令查看域名对应的IP

如何在Linux中通过命令查看域名对应的IP

作者: 等会再说 | 来源:发表于2019-12-03 18:55 被阅读0次
如何在Linux中通过命令查看域名对应的IP

实际工作或者维护过程中常常需要通过域名反查下其对应的IP地址。解决方法有多种,既可以通过网上提供的域名反查IP查询工具查询,也可以在Linux系统中通过命令进行查询。

本教程主要讲解如何在Linux系统中通过命令查看域名对应的IP地址,主要讲解以下5个命令:

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

通过dig命令查询域名对应IP

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

如何使用 dig 命令查找域的 IP 地址呢?看示例:

dig www.linux.com

输出:

; <<>> DiG 9.10.6 <<>> www.linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18721
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.linux.com.         IN  A

;; ANSWER SECTION:
www.linux.com.      300 IN  A   23.185.0.3

;; Query time: 538 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Dec 03 18:04:41 CST 2019
;; MSG SIZE  rcvd: 58

当然如果你需要一次查询多个域名的IP地址,可以通过将多个域名信息放到一个文本文件中,每行一个,然后编写shell脚本进行读取文件然后循环批量查询输出。

shell脚本命令类似如下:

#!/bin/bash
for server in `cat /opt/scripts/domains-list.txt`
do echo $server "-"
dig $server +short
done | paste -d " " - - -

通过host命令查询域名对应IP

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

host www.linux.com

输出:

www.linux.com has address 23.185.0.3
www.linux.com has IPv6 address 2620:12a:8000::3
www.linux.com has IPv6 address 2620:12a:8001::3

同理,可以通过编写shell脚本实现批量查询,示例如下:

for server in `cat /opt/scripts/domains-list.txt`
do host $server | grep "has address" | sed 's/has address/-/g'
done

通过nslookup命令查询域名对应IP

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

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

它是一个网络管理工具,可以帮助诊断和解决 DNS 相关问题。命令示例如下:

nslookup  www.linux.com

输出:

Server:     192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer:
Name:   www.linux.com
Address: 23.185.0.3

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

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

通过fping命令查询域名对应IP

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

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

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

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

fping命令程序并不默认安装在Linux发行版中,一般需要进行安装,常见的发行版安装命令如下:

Ubuntu/Debian/LinuxMint

sudo apt install fping

Fedora/CentOS/RHEL

yum install fping
or 
dnf install fping

fping默认使用示例:

fping -A www.linux.com

输出:

23.185.0.3 is alive

更多关于fping的使用方法可以通过在终端中键入man fping来学习。

通过ping命令查询域名对应IP

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

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

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

命令示例:

ping -c 2 www.linux.com

输出:

PING www.linux.com (23.185.0.3): 56 data bytes
64 bytes from 23.185.0.3: icmp_seq=0 ttl=42 time=117.995 ms
64 bytes from 23.185.0.3: icmp_seq=1 ttl=42 time=310.108 ms

--- www.linux.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 117.995/214.052/310.108/96.057 ms

我们可以看到输出内容中起对应的IP地址,如果需要过滤输出,增加更多相应的命令处理:

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

输出:

23.185.0.3

写在最后

以上内容为在Linux系统中使用5个命令来获取域名对应的IP地址。建议你可以在自己的服务器或者自己的Linux同上进行尝试,也可以通过编写shell脚本进行批量处理或通过相应的命令对输出进行处理输出自己想要的内容。

相关文章

  • 如何在Linux中通过命令查看域名对应的IP

    实际工作或者维护过程中常常需要通过域名反查下其对应的IP地址。解决方法有多种,既可以通过网上提供的域名反查IP查询...

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

    5 个用于在 Linux 终端中查找域名 IP 地址的命令 本教程介绍了如何在 Linux 终端验证域名或计算机名...

  • mac端apache相关操作教程

    1.查询ip地址的两个方法 mac端查看ip地址 2.使用ping命令查看 对应域名下的ip地址 mac端ping...

  • 网站502错误排除思路

    1.通过域名查看网站对应的IP ,去人是否有VIP(虚拟IP),登录到对应的机器2.netstat -lntp |...

  • LAMP域名配置

    Lamp环境下配置域名 本地安装的虚拟机我们可以通过ifconfig命令来查看ip,通过ip在浏览器中访问我们页面...

  • 基于Docker启动Consul 服务注册和发现

    获取镜像 运行Consul镜像 -- udp 解析域名对应的ip,从下面结果看通过域名也能直接访问 ui界面查看节...

  • 通过域名查看ip

    地址:http://ip.tool.chinaz.com/www.baidu.com

  • Linux网络管理

    查看本机启用的端口:netstat -an ping命令:ping [选项] ip或域名:探测指定IP或域名的网...

  • 网络&端口相关命令

    查看本机ip ifconfig命令 ip命令 查看端口 在Linux使用过程中,需要了解当前系统开放了哪些端口,并...

  • 渗透第一课

    1、域名在渗透中的作用 web渗透主要通过域名地址来进行定位,通过ip地址来查询域名的注册情况。通过查看域名实际注...

网友评论

    本文标题:如何在Linux中通过命令查看域名对应的IP

    本文链接:https://www.haomeiwen.com/subject/ynlhgctx.html