我dig在新安装的 CentOS 上找不到该命令。我试过了,dnf install dig但它说找不到包裹。
如何在 CentOS 上安装 dig?
~$ dig facebook.com
; <<>> DiG 9.9.2-P1 <<>> facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6625
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;facebook.com. IN A
;; ANSWER SECTION:
facebook.com. 205 IN A 173.252.110.27
;; Query time: 291 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Oct 6 17:55:52 …Run Code Online (Sandbox Code Playgroud) 我知道我们可以dig -x用来执行反向 DNS 查询。
我面前有一本教科书,上面说dig ptr和dig -x都是有效的语法。
dig -x绝对适合我,但我没有得到答案dig ptr:
~ $ dig ptr 216.239.34.10
; <<>> DiG 9.8.3-P1 <<>> ptr 216.239.34.10
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41447
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;216.239.34.10. IN PTR
;; AUTHORITY SECTION:
. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2016113001 1800 900 604800 86400
;; …Run Code Online (Sandbox Code Playgroud) 我需要从我的路由器自动获取我自己的 WAN-IP 地址。我发现了这个问题,dig并提出了一个解决方案:
dig +short myip.opendns.com @resolver1.opendns.com
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但现在我想了解它在做什么。这是我(希望)到目前为止所理解的(如果我错了,请纠正我):
+short 只是给我一个简短的输出@resolver1.opendns.com 是 DNS 服务器,它被询问属于给定域的 IP 地址我不清楚的是myip.opendns.com。如果我改写www.spiegel.de,我会得到域www.spiegel.de的 IP 地址,对吗?随着myip.opendns.com我得到我的路由器的广域网IP。那么myip.opendns.com只是模拟一个解析到我的路由器的域吗?它是如何做到的?它从哪里获得我的 IP?它与诸如www.wieistmeineip.de 之类的网页有何不同?他们还试图获取我的 IP。
在Krinkle 对我提到的问题的回答中,据说这种“dns-approach”会比“http-approach”更好。为什么它更好,有什么区别?
必须有所不同,因为我从dig +short myip.opendns.com @resolver1.opendns.com(ip1)获得的 WAN-IP是我也可以在路由器的 Web 界面中看到的那个,而www.wieistmeineip.de(以及其他类似站点)给了我另一个 IP 地址 (ip2) . 我可以想象我的 ISP 正在使用某种子局域网,因此我对网络服务器的请求通过另一个具有 ip2 的(ISP-)路由器,所以它www.wieistmeineip.de只是看到这个地址(ip2)。但是,再一次,那又myip.opendns.com在做什么呢?
另外:从我的 LAN 内打开 ip1 给了我来自我的 RasPi 的测试网站,从我的 LAN 外部(移动互联网)打开它不起作用。这是否意味着 ip1 不是正确的“互联网 IP”,而更像是 LAN IP?
我正在使用本地 BIND9 服务器来托管一些本地 dns 记录。在尝试挖掘本地域名时,如果我没有明确告诉 dig 使用我的本地 BIND9 服务器,我将无法找到它。
user@heimdal:~$ dig +short heimdal.lan.se
user@heimdal:~$ dig +short @192.168.1.7 heimdal.lan.se
192.168.1.2
Run Code Online (Sandbox Code Playgroud)
使用 Ubuntu 17.04 和 systemd-resolved。这是我的/etc/resolved的内容
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
Run Code Online (Sandbox Code Playgroud)
以及 systemd-resolve --status 的输出
Global
DNS Servers: 192.168.1.7
192.168.1.1
DNSSEC NTA: 10.in-addr.arpa …Run Code Online (Sandbox Code Playgroud) 我在 Cygwin 上找不到dig命令,也找不到任何直接指向它的包名称。如果有包含它的软件包,那么要安装哪个?
我想知道如何从 DNS / dig 查询中仅提取 IP 地址。我正在运行的查询如下所示:
lab-1:/var/# dig +answer smtp.mydomain.net +short
smtp.ggs.mydomain.net
10.11.11.11
Run Code Online (Sandbox Code Playgroud)
我希望能够只获得返回的 IP 地址。我目前正在使用 bash 管道和 awk 命令。但到目前为止,我尝试过的一切都没有奏效。
谢谢。
我正在运行薄荷伴侣 17.2。
当我使用dig时,对于某个特定的域名,解析出的IP“应答”是错误的,应答服务器是127.0.0.1.
尝试通过 ssh、Web 浏览器等从我的本地计算机访问此域也解析为错误的 IP。
使用在线工具或其他计算机进行 DNS 查找工作正常。
本地机器上的某些东西正在拦截请求并返回错误的缓存结果。我查看了各种缓存程序,但我认为我没有安装或配置任何缓存程序。
返回的 IP 地址是旧 IP,并且主 DNS 记录在一年前更改。
如何确定哪个程序在本地拦截 DNS 并禁用它,以便我可以在我的计算机上正确解析此域?
/etc/resolv.conf:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
Run Code Online (Sandbox Code Playgroud) 结果dig -6 google.com:
; <<>> DiG 9.8.3-P1 <<>> -6 google.com
;; global options: +cmd
;; connection timed out; no servers could be reached
Run Code Online (Sandbox Code Playgroud)
如果dig -4 google.com工作正常,这意味着什么?这是否意味着我的提供商不支持IPv6?
更新
我的 /etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated. …Run Code Online (Sandbox Code Playgroud) 情况:
情况1:
案例2:
问题可以一直重现:
没有 sudo:
$ dig aerserv-bc-us-east.bidswitch.net @8.8.8.8
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> aerserv-bc-us-east.bidswitch.net @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49847
;; flags: qr rd ra; QUERY: 1, ANSWER: 112, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; …Run Code Online (Sandbox Code Playgroud)