> ## Content Index
> Fetch the complete content index at: https://www.bagz.fr/llms.txt
> Use this file to discover other available public pages before exploring further.

# DNS queries from a file/list to CSV
- URL: https://www.bagz.fr/dns-queries-from-a-filelist-to-csv/
- Published: 2017-05-30T08:03:42.000Z
- Updated: 2017-05-30T08:03:42.000Z
- Author: bgazui
- Tags: Linux, Python, #Migrated-1790668826633, #wp, #wp-post, #Import 2026-09-29 08:00

It's not easy to perform bulk DNS resolution when you have many DNS/IPs to control. Here is a simple script allowing you to perform DNS resolution over a list of DNS entries or IPs.

Here is a list of DNS (names and IPs) that we put in a file called **listDNS.txt**

www.python.org  
www.pyython.org  
208.67.220.220  
www.bing.com  

Let's copy that script that will do the job in a file called **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 "$linetis resolving intot${dns}"  
 done < "$1"  
fi  

And now, execute it by passing file path as an arg, and see the output:

$ 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   

Resolution are done for every line, depending on if it's an IP or a name (and remain empty if it can't resolve).  
Feel free to adjust the script according to your needs!