时间:2023-02-12 00:45:02 | 来源:建站知识
时间:2023-02-12 00:45:02 来源:建站知识
实际工作或者维护过程中常常需要通过域名反查下其对应的IP地址。解决方法有多种,既可以通过网上提供的域名反查IP查询工具查询,也可以在Linux系统中通过命令进行查询。dig
:它是一个用于查询 DNS 名称服务器的灵活命令行工具。host
:它是用于执行 DNS 查询的简单程序。nslookup
:它用于查询互联网域名服务器。fping
:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。ping
:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。dig
命令查询域名对应IPdig
命令来解决 DNS 问题,因为它灵活、易用且输出清晰。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脚本进行读取文件然后循环批量查询输出。#!/bin/bashfor server in `cat /opt/scripts/domains-list.txt`do echo $server "-"dig $server +shortdone | paste -d " " - - -
host
命令查询域名对应IPhost
将打印它的命令行参数和选项摘要。host www.linux.com
输出:www.linux.com has address 23.185.0.3www.linux.com has IPv6 address 2620:12a:8000::3www.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
命令查询域名对应IPnslookup
有两种模式,分别是交互式和非交互式。交互模式允许用户查询名称服务器以获取有关各种主机和域的信息,或打印域中的主机列表。非交互模式用于仅打印主机或域的名称和请求的信息。nslookup www.linux.com
输出:Server: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:Name: www.linux.comAddress: 23.185.0.3
同理,使用以下 bash 脚本查找多个域的 IP 地址#!/bin/bashfor 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
命令查询域名对应IPping
之类的程序,它使用互联网控制消息协议(ICMP)echo 请求来确定目标主机是否响应。fping
与 ping
不同,因为它允许用户并行 ping 任意数量的主机。另外,它可以从文本文件输入主机。fping
发送 ICMP echo 请求,并以循环方式移到下一个目标,并且不等到目标主机做出响应。sudo apt install fping
Fedora/CentOS/REHLyum install fpingor dnf install fping
fping默认使用示例:fping -A www.linux265.com
输出:23.185.0.3 is alive
更多关于fping的使用方法可以通过在终端中键入man fping
来学习。ping
命令查询域名对应IPping -c 2 www.linux.com
输出:PING www.linux.com (23.185.0.3): 56 data bytes64 bytes from 23.185.0.3: icmp_seq=0 ttl=42 time=117.995 ms64 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 lossround-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
关键词:对应,命令,通过