IPs mehrer Domains abfragen

Bash, Shell, PHP, Python, Perl, CGI
raid
Posts: 119
Joined: 2003-08-01 09:32

IPs mehrer Domains abfragen

Post by raid »

Hallo,

ich wollte mal in die Runde fragen, ob ihr zufällig ein Tool kennt, dass für eine Liste an Domains die IP-Adresse ausgibt, auf die geroutet wird.

Also Ziel sollte kurz gesagt sein, ich gebe eine gewisse Anzahl an Domains in dieses Script, Programm oder was auch immer ein und die Ausgabe sollte die Domain und dessen IP-Adresse sein. Quasi müsste ein Script alle Domains ein mal anpingen und die Ausgabe mir dann irgendwie hinter die Domain schreiben.

Ich hab schon bissel gegoogelt, vielleicht auch die falschen Suchbegriffe eingegen, aber irgendwie finde ich nichts was die Arbeit macht und von Hand jede Domain anpingen macht ja ne wahnsinns Arbeit.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11176
Joined: 2003-02-27 01:00
Location: Hamburg

Re: IPs mehrer Domains abfragen

Post by Joe User »

Und was machst Du mit grossen Sites wie Google, Facebook, Twitter, etc. die hinter mehreren IPs sitzen? Da stimmt Deine Liste schon nach 2 Sekunden nicht mehr...

Wozu braucht man soetwas überhaupt?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
raid
Posts: 119
Joined: 2003-08-01 09:32

Re: IPs mehrer Domains abfragen

Post by raid »

Es geht darum, das ich für mehrere Vereine die bedürftigen Menschen helfen in Sachen Internet unter die Arme greife. Nun hat mein Vorgänger seine eigene DNS-Server für unzählige Domains mehrere Vereine genutzt und der will die nun abschalten und lässt da überhaupt nicht mit sich reden irgendwie noch kooperativ zu sein.

Ergo habe ich nur eine Liste mit allen Domains vorliegen und diese werde ich nun auf meinem DNS anlegen. Damit ich die aber anlegen kann, muss ich wissen, auf welche IP diese momentan führen und daran klemmt es eben momentan. Irgendwelche CNAMEs oder so sind momentan angeblich nirgends gesetzt, nur der A-Record und MX, wobei der MX-Record momentan bei allen gleich ist (externer Anbieter). Daher sollte die Ping Abfrage Methode gut klappen.

Ich habe ja keine Probleme die alle manuell von Hand einzutragen, aber bei 80 Domains alle einzeln mit Ping abfragen wo die hin führen, da hab ich keine Lust zu, das würde ich nur im äußersten Notfall machen, weil extrem zeitraubend von Hand.
Last edited by raid on 2010-07-12 15:15, edited 1 time in total.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11176
Joined: 2003-02-27 01:00
Location: Hamburg

Re: IPs mehrer Domains abfragen

Post by Joe User »

Quick&Dirty:

Code: Select all

#!/bin/bash
# Shell script utility to read a file line line.
# Once line is read it can be process in processLine() function
# You can call script as follows, to read myfile.txt:
# ./readline myfile.txt
# Following example will read line from standard input device aka keyboard:
# ./readline
# -----------------------------------------------
# Copyright (c) 2005 nixCraft <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
 
# User define Function (UDF)
processLine(){
  line="$@" # get all args
  #  just echo them, but you may need to customize it according to your need
  # for example, F1 will store first field of $line, see readline2 script
  # for more examples
  # F1=$(echo $line | awk '{ print $1 }')
  echo -e "$line = $(/usr/bin/dig $line a +short)"
}
 
### Main script stars here ###
# Store file name
FILE=""
 
# Make sure we get file name as command line argument
# Else read it from standard input device
if [ "$1" == "" ]; then
   FILE="/dev/stdin"
else
   FILE="$1"
   # make sure file exist and readable
   if [ ! -f $FILE ]; then
  	echo "$FILE : does not exists"
  	exit 1
   elif [ ! -r $FILE ]; then
  	echo "$FILE: can not read"
  	exit 2
   fi
fi
# read $FILE using the file descriptors
 
# Set loop separator to end of line
BAKIFS=$IFS
IFS=$(echo -en "\n\b")
exec 3<&0
exec 0<"$FILE"
while read -r line
do
	# use $line variable to process line in processLine() function
	processLine $line
done
exec 0<&3
 
# restore $IFS which was used to determine what the field separators are
IFS=$BAKIFS
exit 0
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: IPs mehrer Domains abfragen

Post by Roger Wilco »

Ich will auch noch. ;)

Code: Select all

$ cat domains.txt 
rootforum.de
example.com
example.net

$ while read domain ; do echo -n "$domain -> "; dig +short a "$domain"; done < domains.txt 
rootforum.de -> 188.40.42.208
example.com -> 192.0.32.10
example.net -> 192.0.32.10
raid
Posts: 119
Joined: 2003-08-01 09:32

Re: IPs mehrer Domains abfragen

Post by raid »

Möchte noch einmal DANKE sagen für die Hilfestelltungen, ich hatte leider nicht viel Zeit, hab daher nur mal das Script, was mich besonders neugierig gemacht hat von Joe User probiert und bin begeistert, genau das was ich gesucht habe. Ich lasse mich überraschen, ob das am Ende alles so klappt, wie ich mir das vorstelle. Nochmals vielen Dank!