Script DNS Lookup IP-Adressen zu Hostnamen

Manchmal ist es erforderlich aus einem Netzwerk-Scan, beispielsweise mit nmap, eine Liste mit den zugehörigen Hostnamen zu bekommen. Diese kann dann für die Weiterverarbeitung zum in Splunk verwendet werden.

Als Grundlage dient eine Liste mit IP-Adressen in folgendem Format:

192.168.168.185
142.250.179.131
206.191.24.158
192.168.168.112
44.238.207.175
192.168.160.154
10.10.20.72
52.109.32.63
192.168.168.40
88.221.214.10
192.168.160.161
34.107.221.82

Für die eigentliche Namensauflösung verwenden wir dig, da sich dieses im Gegensatz zu nslookup und ähnlichen Tools deutlich besser scripten lässt. Folgendes Script kommt dafür zum Einsatz:

lookup.sh

#!/bin/bash
while read line
do
  dig -x "$line" +short
done

Die Syntax für den Aufruf des Scriptes ist wie folgt:

$PATH/lookup.sh < $PATH/IP-Adressliste.csv

Möchte man die Ausgabe in eine Datei umlenken, wird der Aufruf wie folgt verwendet:

$PATH/lookup.sh < $PATH/IP-Adressliste.csv > $PATH/IP-Adressliste-Output.csv