Cómo resolver una lista de nombres de host en direcciones IP mientras se consulta dig o se usa getent

Cómo resolver una lista de nombres de host en direcciones IP mientras se consulta dig o se usa getent

Necesito resolver todos los registros "A" de un dominio en direcciones IP, si existen, mientras creo un script bash.

Miré para ver si había un comando de excavación para recuperar todos los registros de un dominio, pero no pude encontrar ninguno, por lo que estoy usando los nombres de host que sé que existen a partir de una imagen que nos proporciona un programa de chat en línea en particular. .

Esto es lo que tengo hasta ahora

#!/bin/bash

pricks=(
   "c1.domain.com"
   "c2.domain.com"
   "c3.domain.com"
   "c4.domain.com"
   "c5.domain.com"
   "c6.domain.com"
   "c7.domain.com"
   "c8.domain.com"
   "c9.domain.com"
   "c10.domain.com"
   "c11.domain.com"
   "c12.domain.com"
   "c13.domain.com"
   "c14.domain.com"
   "c15.domain.com"
   "c16.domain.com"
   "c17.domain.com"
   "c18.domain.com"
   "c19.domain.com"
   "c20.domain.com"
)

for prick in "${pricks[@]}"
do
   echo "apf -d $prick \"$prick\"" >> add_apf_rules.sh
done
exit

Esto me da el siguiente resultado que puedo ejecutar fácilmente y que agregará los nombres de host al archivo apf deny hosts...

apf -d c1.domain.com "c1.domain.com"
apf -d c2.domain.com "c2.domain.com"
apf -d c3.domain.com "c3.domain.com"
apf -d c4.domain.com "c4.domain.com"
apf -d c5.domain.com "c5.domain.com"
apf -d c6.domain.com "c6.domain.com"
apf -d c7.domain.com "c7.domain.com"
apf -d c8.domain.com "c8.domain.com"
apf -d c9.domain.com "c9.domain.com"
apf -d c10.domain.com "c10.domain.com"
apf -d c11.domain.com "c11.domain.com"
apf -d c12.domain.com "c12.domain.com"
apf -d c13.domain.com "c13.domain.com"
apf -d c14.domain.com "c14.domain.com"
apf -d c15.domain.com "c15.domain.com"
apf -d c16.domain.com "c16.domain.com"
apf -d c17.domain.com "c17.domain.com"
apf -d c18.domain.com "c18.domain.com"
apf -d c19.domain.com "c19.domain.com"
apf -d c20.domain.com "c20.domain.com"

Los nombres de host no están permitidos en "/etc/apf/deny_hosts.rules", por lo que necesito una forma de resolver el nombre de host en una IP, si existe, y colocar la IP en lugar del nombre de host.

¿Cómo puedo utilizar getent para realizar mi tarea?

getent hosts c15.domain.com | awk '{ print $1 }'

Respuesta1

Puede intentar usar host -l domain.como dig domain.com AXFR(ambos hacen lo mismo), pero es muy probable que el propietario del servidor DNS lo prohíba por razones de seguridad.

Si es así, entonces no hay forma de recuperar todos los registros A.

EDITAR: No puedo entender qué estás pidiendo, así que empiezo a adivinar:

P: ¿Cómo puedo modificar mi primer script para obtener el resultado?

apf -d 66.96.162.92 "c1.domain.com"
apf -d 66.96.162.93 "c2.domain.com"
apf -d 66.96.162.94 "c3.domain.com"

A:

for prick in "${pricks[@]}"; do
   echo apf -d $(getent hosts "$prick") >> add_apf_rules.sh
done

información relacionada