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

  • In FortiOS 7.4, Fortinet enhanced the ability to do... Full Story

  • Apple shortcuts have been an amazing addition to IOS. ... Full Story

  • Years ago, when I started using FortiGates, I had... Full Story