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.com
o 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