
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-dns
Flag 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-servers
Option 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.conf
enthä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.conf
und 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.conf
und den/die nächsten nur dann verwendet, wenn der erste Nameserver nicht antwortet, Nmap verwendetalle Nameserver-Einträge gefunden in/etc/resolv.conf
parallel 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 -vvv
sollten die gleichen Ergebnisse erhalten wie nmap -sn 192.168.0.0/24 -vvv --system-dns
undnmap -sn 192.168.0.0/24 -vvv --dns-servers 192.168.0.6