Skip to content

Instantly share code, notes, and snippets.

@waako
Last active March 19, 2023 03:37
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save waako/11559842 to your computer and use it in GitHub Desktop.
Save waako/11559842 to your computer and use it in GitHub Desktop.
Lookup A-record and Nameservers for a list of domains in a txt file, output into a csv file
#!/bin/bash
# Put all the domain names in domains.txt, one per line
# then run in the terminal: bash domains.sh
# this will print each domain in the terminal as it looks it up
# The result csv will contains the domain, IP & Nameservers in each column
# Give each column the relevant header titles
echo "Domain Name,IP Address,Nameserver,Nameserver,Nameserver,Nameserver,Nameserver" > domains.csv
while read domain
do
# Get IP address defined in domain's root A-record
ipaddress=`dig $domain +short`
# Get list of all nameservers
ns=`dig ns $domain +short| sort | tr '\n' ','`
# Use the line below to extract any information from whois
# ns=`whois $domain | grep "Name Server" | cut -d ":" -f 2 | sed 's/ //' | sed -e :a -e '$!N;s/ \n/,/;ta'`
echo "$domain"
# Uncomment the following lines to output the information directly into the terminal
# echo "IP Address: $ipaddress"
# echo "Nameservers: $ns"
# echo " "
# Prints all the values fetched into the CSV file
echo -e "$domain,$ipaddress,$ns" >> domains.csv
# Defines the text file from which to read domain names
done < domains.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment