命令行工具提供最底层、最可靠的查询网站服务器地址方式,支持批量查询、DNS记录分析、DNSSEC验证等高级操作,是运维与安全人员的必备技能。
? 核心工具详解
ping:基础连通性测试
在终端输入:
ping www.example.com
返回结果中第一行即为目标IP(如 PING www.example.com (93.184.216.34): 56 data bytes)。
? 注意:若返回“请求超时”但网页能打开,可能是服务器禁用了ICMP响应(常见于CDN节点),需结合其他工具。
nslookup:查询DNS记录
执行:
nslookup www.example.com
输出示例:
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: www.example.com
Address: 93.184.216.34
Name: www.example.com
Address: 2606:2800:220:1:248:1893:25c8:1946
可指定DNS服务器查询(如阿里云DNS):
nslookup www.example.com 223.5.5.5
dig:专业DNS诊断工具
功能远超nslookup,支持查看TTL、权威服务器、DNSSEC状态等:
dig +short www.example.com A 仅返回IPv4地址
dig +trace www.example.com 显示完整解析路径
$ dig +short www.baidu.com A
220.181.38.251
220.181.38.250
220.181.38.149
若返回多个IP,说明网站使用了负载均衡(如百度的3台服务器轮询响应)。
traceroute:追踪网络路径
显示数据包到达目标IP的每一跳路径(需root权限):
traceroute www.example.com 或 tracert www.example.com(Windows)
(192.168.1.1) 1.234 ms
2 10.0.0.1 (10.0.0.1) 5.678 ms
3 222.73.123.1 (222.73.123.1) 12.345 ms
...180.101.50.242 (180.101.50.242) 25.678 ms
通过IP段可推断运营商(如 180.101.x.x 属于腾讯云广东节点)。
? 实用脚本:批量查询域名IP
将以下脚本保存为 ip-check.sh,赋予执行权限后运行,可批量检测多个域名的IP及地理信息:
#!/bin/bash
echo "域名批量IP查询工具"
echo "=================="
while read domain; do
echo -n "$domain → "
ip=$(dig +short $domain A | head -n1)
if [ -z "$ip" ]; then
echo "DNS解析失败"
else
echo "$ip"
# 调用ip-api.com获取地理位置
curl -s "http://ip-api.com/json/$ip?fields=status,message,country,regionName,city,isp" |
jq -r '"((.country)) (.regionName)/(.city) - (.isp)"' 2>/dev/null || echo "地理位置查询失败"
fi
done < domains.txt
使用方式:创建 domains.txt 文件,每行一个域名,如:
www.baidu.com
www.google.com
www.github.com