AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1032267
Accepted
JeremyCanfield
JeremyCanfield
Asked: 2020-09-02 03:19:06 +0800 CST2020-09-02 03:19:06 +0800 CST 2020-09-02 03:19:06 +0800 CST

nmap 无法将某些 IP 解析为主机名

  • 772

我的目标是让 nmap 将 IP 解析为没有 --system-dns 标志或 --dns-servers 选项的主机名。

当我发出以下不带 --system-dns 标志或 --dns-servers 选项的 nmap 命令时,192.168.0.16 被解析为主机名 server1.example.com。192.168.0.17 未解析为主机名。我知道这是因为根据https://nmap.org/book/host-discovery-dns.html,“Nmap 使用自定义存根解析器”,这意味着 nmap 有它自己的 DNS 解析器,而不是我们的本地 DNS 服务器. 有趣的。

[root@client1]# nmap -sn 192.168.0.0/24 -vvv

Initiating Parallel DNS resolution of 256 hosts. at 11:22
Completed Parallel DNS resolution of 256 hosts. at 11:22, 0.02s elapsed
DNS resolution of 18 IPs took 0.02s. Mode: Async [#: 2, OK: 5, NX: 13, DR: 0, SF: 0, TR: 18, CN: 0]

Nmap scan report for server1.example.com (192.168.0.16)
Host is up (0.00063s latency).
Nmap scan report for 192.168.0.17
Host is up (0.00059s latency).

--system-dns使用标志时不会发生此问题。

[root@client1]# nmap -sn 192.168.0.0/24 --system-dns

Nmap scan report for server1.example.com (192.168.0.16)
Host is up (0.00029s latency).
Nmap scan report for server2.example.com (192.168.0.17)
Host is up (0.00026s latency).

--dns-servers当该选项用于声明应使用我们的主 DNS 服务器 (192.168.0.6)时,不会出现此问题。

[root@client1]# nmap -sn 192.168.0.0/24 --dns-servers 192.168.0.6

Nmap scan report for server1.example.com (192.168.0.16)
Host is up (0.00039s latency).
Nmap scan report for server2.example.com (192.168.0.17)
Host is up (0.00036s latency).

nslookup 显示两个 IP 都可以解析为相应的主机名。

[root@client1]#  nslookup 192.168.0.16
16.0.168.192.in-addr.arpa       name = server1.example.com.

[root@client1]# nslookup 192.168.0.17
17.0.168.192.in-addr.arpa       name = server2.example.com.

我们使用 CentOs 7 作为我们的操作系统。/etc/resolv.conf包含以下内容,表示 192.168.0.6 是我们的主 DNS 服务器。

[root@client1]# cat /etc/resolv.conf

nameserver 192.168.0.6
nameserver 8.8.8.8

192.168.0.6(我们的主 DNS 服务器)使用 Bind 版本 9 作为 DNS 服务。

[root@dns1]# named -v
BIND 9.9.4-RedHat-9.9.4-51.el7 (Extended Support Version)

这是相关的片段/var/named/forward.example.com。

[root@dns1]# cat /var/named/forward.example.com

$ORIGIN example.com.
$TTL 1D
@       IN      SOA     ns1.example.com. hostmaster.example.com. (
                                        2016032200 ; serial
                                        1D         ; refresh
                                        1H         ; retry
                                        1W         ; expire
                                        3H         ; minimum
)

;name used for the nameserver
        IN      NS      ns1.example.com.

;ip address of the nameserver
ns1     IN      A       192.168.0.6

;hostname to ip address resolutions
server1         IN      A       192.168.0.16
server2         IN      A       192.168.0.17

这里是一个片段/var/named/reverse.example.com。

[root@client1]# cat /var/named/reverse.example.com

$TTL 1D
@       IN      SOA     ns1.example.com. root.example.com. (
                                        0 ; serial
                                        1D ; refresh
                                        1H ; retry
                                        1W ; expire
                                        3H ; minimum
)

0.168.192.in-addr.arpa. IN      NS      ns1.example.com.

@       IN      NS      ns1.example.com.
ns1     IN      A       192.168.0.6
16      IN      PTR     server1.example.com.
17      IN      PTR     server2.example.com.
domain-name-system bind nmap
  • 1 1 个回答
  • 7237 Views

1 个回答

  • Voted
  1. Best Answer
    Bob
    2020-09-02T07:00:23+08:002020-09-02T07:00:23+08:00

    您的问题的根源是您/etc/resolv.conf以及 nmap 如何解析它。

        # /etc/resolv.conf
    
        nameserver 192.168.0.6
        nameserver 8.8.8.8
    

    只有您的第一个名称服务器条目有资格回答您的本地域和网络的查询。

    第二个域名服务器是公共解析器,无法响应私有 IP 范围的反向 DNS 查询。

    与系统解析器不同,系统解析器默认使用第一个名称服务器条目,/etc/resolv.conf并且仅在第一个名称服务器没有响应时才使用下一个, Nmap 使用并行找到的所有名称服务器条目/etc/resolv.conf(隐含假设它们都是相等的)。

    由于在您的情况下,不同的名称服务器不等效,因此只有一些反向 DNS 查询成功,并且您看到一些 IP 地址被解析为主机名(当您的第一个名称服务器被查询时),而其他的则不是(当您的第二个名称服务器被使用时)。

    删除或注释掉第二个域名服务器,应该得到与和nmap -sn 192.168.0.0/24 -vvv相同的结果nmap -sn 192.168.0.0/24 -vvv --system-dnsnmap -sn 192.168.0.0/24 -vvv --dns-servers 192.168.0.6

    • 6

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve