By Manny Fernandez

March 2, 2020

Bash Script to dig a list of IP Addresses

Update: I modified the script.  It now gives you an NA or the PTR when available.  

I had a customer that had some unusual traffic during a given time of the date and we wanted to resolve the destination IP addresses.  I wanted be able to have a list of IP addresses and run a script against them using the dig command.  Here we go.

The Script

#!/bin/bash

IPLIST=$1
while read IP; 
	do
	domain=`dig -x "$IP" +short | head -1`
        if  test -z "$domain" ;
	then
		echo $IP  'N/A'	
	else
		echo $IP  ${domain}
	fi	
	done < "$IPLIST"  >results.csv

The List

177.184.152.24
66.240.205.34
193.57.40.38
179.104.203.79
107.173.194.163
218.211.168.178
23.126.142.209
94.102.57.241
134.209.89.172
185.150.190.103
134.209.89.172
142.93.137.80
188.166.75.140
101.181.167.221

File List

2020-03-02_21-58-38

We can see the two files in the folder and that the diggity.sh has the executable permission.  You need to do this by typing chmod +x diggity.sh

The Command

./diggity.sh list.txt

The Results

2020-03-02_22-00-12

Here we can see the results.csv file is now present.

The Output

2020-03-02_22-02-28

If there is no results, you will not see anything.  I am going to update the script so that it will show the original IP address and the corresponding name in a csv format.

Recent posts

  • There are many options when troubleshooting in FortiGate firewalls. ... Full Story

  • Have you ever had an IPS signature that continues... Full Story

  • Use case:  Customer has a Split Tunnel Enabled but... Full Story