当前位置: 首页 > news >正文

Mac_Linux 查询网站IP地址:4个核心命令详解

Mac/Linux 查询网站IP地址:4个核心命令详解

在日常开发、网络排查或学习过程中,我们经常需要知道某个网站对应的IP地址(比如确认域名解析是否正常、判断访问延迟的原因等)。在Mac和Linux系统下,无需安装额外工具,终端自带的nslookuphostcurldig四个命令就能轻松实现。

先给大家普及一个基础逻辑:网站的域名(比如 www.baidu.com)只是为了方便人类记忆,互联网中设备之间的通信最终依赖的是IP地址(比如 180.101.49.11)。我们查询“域名对应IP”的过程,本质上就是“域名解析”——向DNS服务器(域名系统服务器)询问这个域名对应的IP地址。下面逐个拆解这四个命令的用法,全程用“通俗易懂的语言+实操实例”讲解,新手也能直接上手。

一、nslookup:最经典的“域名解析查询工具”

nslookup是“Name Server Lookup”的缩写,直译就是“域名服务器查询”,是最老牌、最常用的域名解析查询命令,几乎所有类Unix系统(包括Mac、Linux)都自带。它的核心优势是“简单直观”,能快速返回域名对应的IP,还支持查询不同类型的DNS记录(比如A记录、AAAA记录等)。

1. 基本用法(最常用)

命令格式:nslookup 域名

实例:查询百度的IP地址

nslookupwww.baidu.com

执行后会输出类似这样的结果(关键信息已标注):

nslookup www.baidu.com Server: 1.1.1.2 Address: 1.1.1.2#53 Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. www.a.shifen.com canonical name = www.wshifen.com. Name: www.wshifen.com Address: 103.235.46.115 Name: www.wshifen.com Address: 103.235.46.102

解读:这里能看到 www.baidu.com 对应两个IPv4地址(180.101.49.11 和 180.101.49.12),这是因为百度用了负载均衡,多个IP可以分担访问压力。

2. 常用进阶用法

  • 指定DNS服务器查询:有时候我们想验证“不同DNS服务器解析同一个域名是否有差异”(比如排查运营商DNS污染问题),可以用这个方法。命令格式:nslookup 域名 DNS服务器IP。实例:用谷歌的公共DNS(8.8.8.8)查询百度IP:nslookup www.baidu.com 8.8.8.8

  • 查询IPv6地址:现在IPv6逐渐普及,若想查询域名对应的IPv6地址(AAAA记录),命令格式:nslookup -query=AAAA 域名。实例:nslookup -query=AAAA www.baidu.com,会返回类似 240e:ff:f101💯:233 这样的IPv6地址。

3. 注意事项

nslookup 分为“交互式”和“非交互式”两种模式:上面讲的都是“非交互式”(直接输入命令+域名即可);如果直接输入nslookup回车,会进入交互式模式,此时可以连续输入多个域名查询,输入exit即可退出。日常使用中,非交互式模式完全够用。

二、host:极简的“域名解析工具”

host命令的核心特点是“简洁”——输出结果比nslookup更精简,只保留最关键的域名解析信息,适合只想快速获取IP、不想看多余内容的场景。它也是Mac和Linux系统自带的,底层同样依赖DNS解析。

1. 基本用法

命令格式:host 域名

实例:查询百度的IP地址

hostwww.baidu.com

执行后输出结果(非常简洁):

www.baidu.com is an alias for www.a.shifen.com. www.a.shifen.com is an alias for www.wshifen.com. www.wshifen.com has address 103.235.46.115 www.wshifen.com has address 103.235.46.102

解读:直接返回了域名对应的IPv4和IPv6地址,没有多余的DNS服务器信息,一目了然。

2. 常用进阶用法

  • 指定DNS服务器查询:格式和nslookup类似,命令格式:host 域名 DNS服务器IP。实例:用阿里云公共DNS(223.5.5.5)查询百度IP:host www.baidu.com 223.5.5.5

  • 反向解析(根据IP查域名):host 不仅能“域名查IP”,还能“IP查域名”(反向解析)。命令格式:host IP地址。实例:查询 180.101.49.11 对应的域名:host 180.101.49.11,可能会返回类似 11.49.101.180.in-addr.arpa domain name pointer baidu.com. 的结果(不同IP的反向解析结果可能不同,部分IP可能没有反向解析)。

3. 注意事项

host 命令的设计初衷就是“轻量、快速”,所以它不支持复杂的DNS记录查询(比如MX记录、CNAME记录等,这些记录更适合用dig查询)。如果只是简单查IP,host 是效率最高的选择。

三、curl:“多功能工具”附带的IP查询能力

首先要明确:curl不是专门的域名解析工具!它的核心功能是“在命令行发起HTTP/HTTPS请求”(比如下载文件、模拟浏览器访问网页等)。但它附带了一个“获取域名IP”的功能,适合在“发起请求的同时”查看解析的IP,不用单独执行其他命令。

1. 基本用法(查询IP)

curl 查询IP的核心是通过-v参数(verbose,详细模式),在请求过程中输出“DNS解析信息”。命令格式:curl -v 域名(或curl -I 域名-I表示只获取响应头,输出更简洁)。

实例:用curl查询百度的IP

curl-I www.baidu.com

执行后输出结果(关键部分已标注):

HTTP/1.1 200 OK Accept-Ranges: bytes Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform Connection: keep-alive Content-Length: 277 Content-Type: text/html Date: Thu, 18 Dec 2025 08:00:00 GMT Etag: "5886041d-115" Last-Modified: Mon, 23 Jan 2017 13:27:41 GMT P3P: CP=" OTI DSP COR IVA OUR IND COM " Server: bfe/1.0.8.18 Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/ # 若用 curl -v www.baidu.com,会输出更详细的解析过程: * Host www.baidu.com:80 was resolved. * IPv6: (none) * IPv4: 103.235.46.115, 103.235.46.102 * Trying 103.235.46.115:80... * Connected to www.baidu.com (103.235.46.115) port 80 > GET / HTTP/1.1 > Host: www.baidu.com > User-Agent: curl/8.9.1 > Accept: */* >

2. 常用进阶用法

强制使用IPv4或IPv6解析:如果想单独验证IPv4或IPv6的解析情况,可以用-4(强制IPv4)或-6(强制IPv6)参数。实例:curl -4 -I www.baidu.com(只解析IPv4)、curl -6 -I www.baidu.com(只解析IPv6)。

3. 注意事项

curl 的IP查询功能是“附带功能”,所以它的解析结果是“为了完成请求而做的一次解析”,不能像nslookup、host那样灵活地指定DNS服务器(虽然可以通过修改系统DNS来间接实现,但不够方便)。适合场景:在测试网页访问的同时,顺便查看域名解析的IP。

四、dig:“专业级”DNS解析工具

dig是“Domain Information Groper”的缩写,直译是“域名信息探索器”,是功能最强大、最专业的DNS解析工具。它支持查询所有类型的DNS记录(A、AAAA、MX、CNAME、TXT等),输出结果详细到DNS解析的完整过程,适合网络排查、DNS运维等专业场景。Mac和Linux系统默认自带(部分极简Linux系统可能需要手动安装,比如CentOS:yum install bind-utils;Ubuntu:apt install dnsutils)。

1. 基本用法(查询IP)

命令格式:dig 域名

实例:查询百度的IP地址

digwww.baidu.com

执行后输出结果(分为5个部分,关键信息已解读):

; <<>> DiG 9.10.6 <<>> www.baidu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42794 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com. 1200 IN CNAME www.a.shifen.com. www.a.shifen.com. 30 IN CNAME www.wshifen.com. www.wshifen.com. 300 IN A 103.235.46.115 www.wshifen.com. 300 IN A 103.235.46.102 ;; Query time: 393 msec ;; SERVER: 1.1.1.2#53(1.1.1.2) ;; WHEN: Thu Dec 18 21:37:28 CST 2025 ;; MSG SIZE rcvd: 127

解读:核心结果在“ANSWER SECTION”(应答部分),能看到 www.baidu.com 有两个A记录(IPv4地址),TTL是120秒(表示这个解析结果在本地缓存120秒后过期,需要重新查询)。

2. 常用进阶用法

  • 精简输出(只看核心结果):dig 默认输出很详细,若只想看IP,可加+short参数。命令格式:dig +short 域名。实例:dig +short www.baidu.com,输出结果只有两个IP:180.101.49.11 180.101.49.12,和host命令一样简洁。

  • 指定DNS服务器查询:格式:dig 域名 @DNS服务器IP(注意@和DNS服务器IP之间没有空格)。实例:用114公共DNS(114.114.114.114)查询百度IP:dig www.baidu.com @114.114.114.114

  • 查询IPv6地址(AAAA记录):命令格式:dig 域名 AAAA(或dig +short 域名 AAAA)。实例:dig +short www.baidu.com AAAA,返回IPv6地址。

  • 查询完整解析过程(追踪DNS跳转):用+trace参数可以追踪DNS解析的完整链路(从根服务器开始,到顶级域服务器、权威服务器,最后到目标IP),适合排查复杂的DNS解析问题。命令格式:dig +trace www.baidu.com(输出结果较长,会展示整个解析链路的每一步)。

3. 注意事项

dig 的功能虽强,但日常简单查IP的场景下,用dig +short 域名就足够了;只有在需要排查DNS问题(比如解析延迟、解析错误、记录异常等)时,才需要用到它的完整输出和高级参数。

五、四个命令的核心区别与适用场景总结

为了方便大家快速选择,这里整理了一个对比表格,清晰列出四个命令的核心特点和适用场景:

命令核心特点适用场景
nslookup经典、直观,支持基本DNS记录查询日常简单查IP,想了解DNS服务器信息
host输出极简,支持反向解析快速获取IP,不需要多余信息;根据IP查域名
curl附带功能,需结合-v/-I参数;核心是HTTP请求测试网页访问时,顺便查看域名解析的IP
dig功能最强,支持所有DNS记录;输出详细解析过程专业DNS排查(解析延迟、记录异常等);查询复杂DNS记录

六、新手实操小技巧

  1. 打开终端:Mac系统可以通过“聚焦搜索”输入“终端”打开;Linux系统直接用快捷键Ctrl+Alt+T打开。

  2. 复制命令时,注意符号的正确性(比如dig命令的@、curl命令的-),避免输入错误。

  3. 如果查询失败(比如提示“无法解析域名”),可以先检查网络连接,再尝试用公共DNS(8.8.8.8、114.114.114.114)重新查询,排除本地DNS问题。

总结:这四个命令没有“优劣之分”,只有“场景之别”。日常简单查IP,用hostnslookup最方便;测试网页访问时顺便查IP,用curl -I;需要专业DNS排查,就用dig。建议大家都实操一遍,熟悉每个命令的输出风格,以后遇到相关问题就能快速上手啦!

http://www.cnnetsun.cn/news/139971.html

相关文章:

  • 【Linux系统】初探虚拟地址空间
  • vue和springboot框架开发的小程序 健身服务与轻食间平台系统健身减肥系统_xj840td0
  • vue和springboot框架开发的小程序儿童疫苗接种预约医疗提醒系统_5dq9226p
  • 【记录】Rust|Rust开发相关的7个VSCode插件的介绍和推荐指数(2025年)
  • C++小程序编写系列(2)
  • python-flask-django公司企业员工出差报销管理系统_04446nsn
  • Glyph2D 同一个图形根据点云的输入产生不同位置的输出
  • Lombok 注解:简化 Java 代码
  • 别让大数据“全表扫描”掏空你:数据分区策略与分区裁剪的实战心经
  • (转载)真正的缘分,“推背感”都跟强
  • Hadoop生态下的数据预处理:MapReduce实战案例解析
  • 2025 年 CTF 零基础入门全攻略!新手必藏!这种实战网络对抗机会千万别错过!
  • 新手也能轻松建站!VanBlog+cpolar让博客创作和分享更简单
  • vue导出excel文件
  • 基于STM32的自动售货机控制系统设计
  • 液压挖掘机回转能量回收系统设计与仿真
  • android 媒体之 MediaSession
  • 校园网络规划
  • 护眼灯已足够优秀,为何仍需眼调节训练灯?答案藏在近视防控里
  • Visual Studio中的多态
  • MindSpore硬核实战:彻底搞懂自动混合精度(AMP)与函数式训练
  • Java异常处理详解。零基础小白到精通,收藏这篇就够了
  • 基于深度学习YOLOv12的犬种识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 基于深度学习YOLOv11的犬种识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • [插电式混合动力车辆][交替方向乘子法(ADMM)结合CVX]插电式混合动力车辆的能源管理:基于凸优化算法用于模型预测控制MPC研究附Matlab代码
  • 【别花冤枉钱】学生党专享!2025年把AI率90%降到10%的“低成本”组合拳(含免费/付费工具避坑指南)
  • 前端Vue制作日历插件FullCalendar,零基础入门到精通,收藏这篇就够了
  • 基于MPC算法的P2构型混合动力汽车能量管理优化策略
  • 德克萨斯大学奥斯汀分校突破:球形利奇量化提升AI图像生成质量
  • 13、Unix 系统管理脚本实用指南(上)