Típicamente se recurre a la herramienta dig
(o drill
en sistemas *BSD), del paquete dnsutils, para consultar a un servidor DNS por la resolución reversa (PTR) de una dirección IP. Esto es, determinar qué nombre de host está asociado de forma reversa a esa IP. Sin embargo es posible hacerlo directamente con la herramienta host
.
dig
permite realizar consultas reversas (transformar IPs en nombres de host) empleando la opción -x
. Por ejemplo:
emi@vaio:~$ dig -x 186.138.130.202 ; <<>> DiG 9.11.5-P4-5.1+deb10u2-Debian <<>> -x 186.138.130.202 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28559 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1280 ;; QUESTION SECTION: ;202.130.138.186.in-addr.arpa. IN PTR ;; ANSWER SECTION: 202.130.138.186.in-addr.arpa. 86400 IN PTR 202-130-138-186.fibertel.com.ar. ;; AUTHORITY SECTION: 138.186.in-addr.arpa. 86400 IN NS dns1.cvtci.com.ar. 138.186.in-addr.arpa. 86400 IN NS dns2.cvtci.com.ar. ;; ADDITIONAL SECTION: dns1.cvtci.com.ar. 26288 IN A 24.232.0.17 dns2.cvtci.com.ar. 26288 IN A 24.232.0.18 ;; Query time: 51 msec ;; SERVER: 192.168.100.1#53(192.168.100.1) ;; WHEN: Tue Nov 24 11:26:53 -03 2020 ;; MSG SIZE rcvd: 178
Sin embargo, el paquete dnsutils (el cual provee a dig
, entre otras herramientas), no suele ser incluido por defecto y debe ser instalado manualmente.
Por otro lado, host
es una herramienta simple, provista por el paquete bind9-host
e incluida generalmente en todos los sistemas operativos de la familia Unix, que permite resolver consultas DNS. Se utiliza típicamente para convertir nombres de host en direcciones IP y viceversa.
Para convertir una dirección IP a nombre de host, basta con pasar la dirección como parámetro:
root@app:~# host 186.138.130.202 202.130.138.186.in-addr.arpa domain name pointer 202-130-138-186.fibertel.com.ar.
Con un poco de magia con cut
es posible recuperar sólo el nombre (algo que puede ser útil para consultar desde scripts):
root@app:~# host 186.138.130.202 | cut -d' ' -f5 202-130-138-186.fibertel.com.ar.