
Mi objetivo aquí es lograr que nmap resuelva IP en nombres de host sin el indicador --system-dns o la opción --dns-servers.
Cuando ejecuto el siguiente comando nmap sin el indicador --system-dns o la opción --dns-servers, 192.168.0.16 se resuelve con el nombre de host server1.example.com. 192.168.0.17 no se resuelve en un nombre de host. Entiendo que esto está ocurriendo porque segúnhttps://nmap.org/book/host-discovery-dns.html, "Nmap utiliza un solucionador de código auxiliar personalizado", lo que significa que nmap tiene su propio solucionador de DNS y no nuestros servidores DNS locales. Interesante.
[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).
Este problema no ocurre cuando --system-dns
se utiliza la bandera.
[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).
Este problema no ocurre cuando --dns-servers
se usa la opción para declarar que se debe usar nuestro servidor DNS principal (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 muestra que ambas IP se pueden resolver con sus nombres de host apropiados.
[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.
Estamos utilizando CentOs 7 como nuestro sistema operativo. /etc/resolv.conf
contiene lo siguiente, lo que significa que 192.168.0.6 es nuestro servidor DNS principal.
[root@client1]# cat /etc/resolv.conf
nameserver 192.168.0.6
nameserver 8.8.8.8
192.168.0.6 (nuestro servidor DNS principal) utiliza la versión 9 de Bind como servicio DNS.
[root@dns1]# named -v
BIND 9.9.4-RedHat-9.9.4-51.el7 (Extended Support Version)
Aquí está el fragmento relevante de /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
Aquí hay un fragmento de /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.
Respuesta1
La raíz de su problema es usted /etc/resolv.conf
y cómo nmap lo analiza.
# /etc/resolv.conf nameserver 192.168.0.6 nameserver 8.8.8.8
Sólo la primera de las entradas de su servidor de nombres está calificada para responder consultas sobre su dominio y red local.
El segundo servidor de nombres es un solucionador público que no podrá responder a consultas DNS inversas para rangos de IP privados.
A diferencia del solucionador del sistema, que de forma predeterminada usa la primera entrada del servidor de nombres /etc/resolv.conf
y solo usa las siguientes cuando el primer servidor de nombres no responde, Usos de nmaptodas las entradas de servidores de nombres encontradas en/etc/resolv.conf
en paralelo(con la suposición implícita de que todos son equivalentes).
Dado que en su caso los diferentes servidores de nombres no son equivalentes, solo algunas de las consultas DNS inversas tienen éxito y verá que algunas direcciones IP se resuelven en nombres de host (cuando se consultó su primer servidor de nombres) y otras no (cuando se utilizó su segundo servidor de nombres). ).
Elimine o comente el segundo servidor de nombres y nmap -sn 192.168.0.0/24 -vvv
debería obtener los mismos resultados que nmap -sn 192.168.0.0/24 -vvv --system-dns
ynmap -sn 192.168.0.0/24 -vvv --dns-servers 192.168.0.6