Afficher/cacher Sommaire
2017-06-03-Requetes-DNS-depuis-un-fichier-liste-en-CSV
Requêtes DNS depuis un fichier/liste en CSV
Il n’est pas facile de faire des résolutions DNS par lot lorsque vous avez de nombreux DNS/IPs à vérifier. Voici un script simple qui vous permet d’effectuer les résolutions DNS en parcourant une liste d’entrées DNS ou d’IPs.
Voici une list de DNS (noms et IPs) que nous mettons dans un fichier appelé listDNS.txt
www.python.org
www.pyython.org
208.67.220.220
www.bing.com
Copions maintenant ce script qui va effectuer tout le travail dans un fichier appelé resolverDNS.sh
#!/bin/bash
# Script file - resolverDNS.sh
# Checking existence of arg
if [ "$1" == "" ]
then
# Display help if wrong usage
echo "Usage: /bin/bash resolverDNS.sh /path/to/file"
exit 35
else
# Loop over dns and resolve
while IFS='' read -r line || [[ -n "$line" ]]; do
dns=''
# Resolve reverse DNS
if [[ $line =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
dns=`dig +noall +answer -x $line +short|tr '\n' ' '`
# Resolve A record
else
dns=`dig a $line +short|tr '\n' ' '`
fi
echo -e "$line\tis resolving into\t${dns}"
done < "$1"
fi
Et maintenant, exécutons le en passant le fichier contenant la liste de DNS en argument, et regardons la sortie standard :
$ bash /home/user/resolverDNS.sh /home/user/listDNS.txt
www.python.org is resolving into python.map.fastly.net. 151.101.60.223
www.pyython.org is resolving into
208.67.220.220 is resolving into resolver2.opendns.com.
www.bing.com is resolving into www-bing-com.a-0001.a-msedge.net. a-0001.a-msedge.net. 204.79.197.200 13.107.21.200
Les résolutions sont faites pour chaque ligne, selon si c’est une IP ou un nom de serveur (et reste vide s’il est impossible de résoudre).
N’hésitez pas à modifier le script selon vos besoins !