【问题标题】:Linux command to translate domain name to IP [closed]将域名转换为 IP 的 Linux 命令 [关闭]
【发布时间】:2011-04-27 03:49:01
【问题描述】:

是否有任何 Linux 指令可以将域名转换为 IP 地址?

【问题讨论】:

  • 您已经在上一个问题中问过这个问题:ping a computer in ssh? 再说一次,这不属于 SO。
  • 你为什么坚持在错误的地方问这些问题?
  • bash 不也是一种编程语言吗?在 python 或 php 中提出的相同问题似乎已被接受......
  • 为什么要为开发人员解决如此重要的问题?是的,这个问题似乎是 ServerFault 授权的,但 ServerFault 是有史以来对用户最不友好的 StackExchange 站点,您在那里提问却永远得不到答案。
  • 哇,27 个问题支持和 53 个回答支持。也许 stackoverflow 被过度调节了。

标签: linux ip domain-name


【解决方案1】:

使用这个

$ dig +short stackoverflow.com

69.59.196.211

或者这个

$ host stackoverflow.com

stackoverflow.com has address 69.59.196.211
stackoverflow.com mail is handled by 30 alt2.aspmx.l.google.com.
stackoverflow.com mail is handled by 40 aspmx2.googlemail.com.
stackoverflow.com mail is handled by 50 aspmx3.googlemail.com.
stackoverflow.com mail is handled by 10 aspmx.l.google.com.
stackoverflow.com mail is handled by 20 alt1.aspmx.l.google.com.

【讨论】:

  • 很好,但是如果你用 $ 替换 % 或者只是删除,那么它会为懒惰的复制猫节省 1 分钟 :)
  • 如果您使用 Arch Linux 或基于该发行版,您会在 bind-tools 包中找到这些工具和 nslookup。
  • 为了兼容CNAME记录或多值A记录,请改用basename $(dig +short stackoverflow.com A | tr '\n' '/')。当您想在 shell 脚本中按域获取 IP 时,这很有用。
  • 如果域指向运行命令的机器的 IP,这将为我返回 127.0.1.1
  • 我在带有非常精简的busybox的嵌入式设备上没有dig或host命令。 ping -q -W1 -c1 stackoverflow.com | head -n1 | cut -d "(" -f2 | cut -d ")" -f1 帮我完成了工作。
【解决方案2】:

你可以使用:

nslookup www.example.com

【讨论】:

  • nslookup 的输出不太适合编写脚本。 @unutbu 已经建议,dig +short 可能是这里最正确的答案。
  • dighost 都没有默认安装在所有发行版上,同时 nslookup 是 busybox 的一部分,它是像 Alpine 这样的轻量级发行版的基础。
  • 我认为你需要删除www.
  • @Chris_Rands Domains www.example.comexample.com 可以指向不同的 IP 地址。
  • 我知道 nslookup 已被弃用,但为了便于阅读,我仍然更喜欢它的输出格式而不是 dig +shorthost
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-25
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 2016-12-14
相关资源
最近更新 更多