nmap kann einige IPs nicht in Hostnamen auflösen

nmap kann einige IPs nicht in Hostnamen auflösen

Mein Ziel besteht hier darin, nmap dazu zu bringen, IPs ohne das Flag --system-dns oder die Option --dns-servers in Hostnamen aufzulösen.

Wenn ich den folgenden nmap-Befehl ohne das Flag --system-dns oder die Option --dns-servers ausführe, wird 192.168.0.16 in den Hostnamen server1.example.com aufgelöst. 192.168.0.17 wird nicht in einen Hostnamen aufgelöst. Ich verstehe, dass dies geschieht, weil lauthttps://nmap.org/book/host-discovery-dns.html, „Nmap verwendet einen benutzerdefinierten Stub-Resolver“, was bedeutet, dass nmap seinen eigenen DNS-Resolver hat und nicht unsere lokalen DNS-Server. Interessant.

[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).

Dieses Problem tritt nicht auf, wenn das --system-dnsFlag verwendet wird.

[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).

Dieses Problem tritt nicht auf, wenn mit der --dns-serversOption angegeben wird, dass unser primärer DNS-Server (192.168.0.6) verwendet werden soll.

[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 zeigt, dass beide IPs in die entsprechenden Hostnamen aufgelöst werden können.

[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.

Wir verwenden CentOs 7 als unser Betriebssystem. /etc/resolv.confenthält Folgendes, was bedeutet, dass 192.168.0.6 unser primärer DNS-Server ist.

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

nameserver 192.168.0.6
nameserver 8.8.8.8

192.168.0.6 (unser primärer DNS-Server) verwendet Version 9 von Bind als DNS-Dienst.

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

Hier ist der relevante Ausschnitt von /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

Hier ist ein Ausschnitt davon /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.

Antwort1

Die Ursache Ihres Problems liegt bei Ihnen /etc/resolv.confund darin, wie nmap es analysiert.

    # /etc/resolv.conf

    nameserver 192.168.0.6
    nameserver 8.8.8.8

Nur der erste Ihrer Nameserver-Einträge ist qualifiziert, Anfragen für Ihre lokale Domäne und Ihr Netzwerk zu beantworten.

Der zweite Nameserver ist ein öffentlicher Resolver, der nicht auf Reverse-DNS-Anfragen für private IP-Bereiche antworten kann.

Im Gegensatz zum System-Resolver, der standardmäßig den ersten Nameserver-Eintrag verwendet /etc/resolv.confund den/die nächsten nur dann verwendet, wenn der erste Nameserver nicht antwortet, Nmap verwendetalle Nameserver-Einträge gefunden in/etc/resolv.confparallel zu(mit der impliziten Annahme, dass sie alle gleichwertig sind).

Da in Ihrem Fall die verschiedenen Nameserver nicht gleichwertig sind, sind nur einige der Reverse-DNS-Abfragen erfolgreich und Sie sehen, dass einige IP-Adressen in Hostnamen aufgelöst werden (wenn Ihr erster Nameserver abgefragt wurde) und andere nicht (wenn Ihr zweiter Nameserver verwendet wurde).

Entfernen oder kommentieren Sie den zweiten Nameserver und Sie nmap -sn 192.168.0.0/24 -vvvsollten die gleichen Ergebnisse erhalten wie nmap -sn 192.168.0.0/24 -vvv --system-dnsundnmap -sn 192.168.0.0/24 -vvv --dns-servers 192.168.0.6

verwandte Informationen