schnellste möglichkeit eine domain auf existenz zu prüfen

Ale-x

Ale-x

bash lehrling
also ich habe eine liste mit domains z.B.
Code:
www.test.de
www.test1.de
www.test2.de

diese will ich jetzt überprüfen lassen ob diese domains existieren

anpingen dauert mir zu lange
ich dachte erst an host www.test.de
aber da stört mich die ausgabe wie z.B.
Code:
[root@jacque tools]# host www.google.de
www.google.de is an alias for www.google.com.
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 64.233.183.99
www.l.google.com has address 64.233.183.103
www.l.google.com has address 64.233.183.104
www.l.google.com has address 64.233.183.147
www.google.de is an alias for www.google.com.
www.google.com is an alias for www.l.google.com.
www.google.de is an alias for www.google.com.
www.google.com is an alias for www.l.google.com.
gibt es noch andere möglichkeiten das zu testen was vielleicht auch schneller geht?
 
Was genau meinst du mit "domain existiert"?

Wenn du meinst ob die Domain registriert ist, dann wirst du mit ping oä. Methoden nicht weit kommen. Am besten suchst du dir eine offene whois Schnittstelle und wertest die Antwort aus.

Gruß
D.
 
Wieso dauert dir anpingen zu lange?
Es reicht doch wenn du nur 1-2 Pings rauslässt. Müssen ja keine 20 sein..
Das kannst du ja mit der Option -c angeben.
Also ping -c 2 host/ip
 
@ defcon
ja ich weiss aber mich hat die ausgabe gestört weil mir die zu lang ist aber ich gerade in nem anderen thread was gefunden
ich mache es dann einfach so
ping -c2 www.test.de > /dev/null 2>/dev/null && echo "existiert" || echo "existiert nicht"
obwohl bei www.test.de kommt das die nich existiert , die gibt es aber
man kommt dann auf die seite von stiftung warentest
hmm
trotzdem dauert mir das zu lange :)
jetzt läuft das mit ca 12 domains die m inute also bräuchte ich 2 monate für meine liste die noch nichtmal komplett ist
hmm meine leitung ist zu langsam ....

nachtrag:
das geht doch nicht so gut der übersieht zuviel
z.B. www.bmx.de gibt es angeblich nicht

jemand noch nen tipp
 
Zuletzt bearbeitet:
Hi,

ping arbeitet standardmäßig über das icmp-Protokoll, welches wiederum von manchen Webserverbetreibern dummerweise blockiert wird (dumm daher, weil es schon recht lange bekannt ist, daß auf Grund der PMTU-Ermittlung über icmp zu fehlerhafter bis gar keiner Anzeige der Webseite kommen kann. Aber manche haben's bis heute noch nicht kapiert, daß sie vor icmp-traffic keine Angst haben müssen).

Da Du aber offensichtlich nicht den Server bzw. dessen Performance testen möchtest sondern Domains überprüfen, würde ich Dir vorschlagen Deinen 1. Beitrag (host) mit Deinem 2. Beitrag (Umleitungen) zu verknüpfen.
Kurz und knackig:

Code:
for testhost in www.google.de www.bmw.de www.diesedomaingibtesnicht.de www.nachrichten.de; do
 echo -n "$testhost "
 [b]host -W 1[/b] $testhost [b]>/dev/null 2>&1 [/b]&& echo "existiert" || echo "existiert nicht"
done

'host' fragt lediglich bei Deinem - bzw. dem 1. funktionierenden - eingetragenen DNS-Server nach, ob die Domain existiert. Dabei interessiert nicht, was sich dahinter versteckt - der eigentliche Server wird überhaupt nicht kontaktiert.

Gruß Daniel
 
Zuletzt bearbeitet:
Die ganzen Programme (ping, dig, host, etc.) funktionieren nur, wenn der Betreiber auch einen Server laufen hat. Wenn das trotz registrierter Domain nicht der Fall ist, musst du bei den einzelnen Anbietern nachgucken, oder einfacher: http://www.df.eu/germany/start.html
 
Anpingen ist ungenau. Eine Domain kann durchaus reserviert aber nicht gehostet sein. In diesem Fall muss man schon 'whois domain.tld' nutzen um zu sehen, ob es die Domain gibt.
 
soweit so gut, klappt alles,
ich hab jetzt ne liste von ca 500 000 zeilen die ist zur hälfte verarbeitet
wie kann ich es jetzt anstellen das der an dieser stelle weiter macht und die erste hälfte übersieht .
wenn ich die liste mit der hand bearbeiten will dauert das ewig.

so sieht die liste aus, jede zeile ist einzigartig also kann man schnell an die richtige stelle springen nur wie

eingelesen wird die liste mit
cat liste | while read -r line
Code:
name1
name2
name3
 
Kannst ja mal folgendes probieren:

tail -250000 liste | while read -r line ...

BTW: Was das -r bei read soll verstehe ich nicht ganz.
 
ja das mit dem -r weiss ich selber nich das muss da nich hin der rest funktioniert super :) danke
 
Warum von Hinten zählen, wenn es von Vorne auch geht.?
head -n <NUMBER> <FILE>

Zu dem -r:
Warum du das verwendest, weiß nur du. Wer sonst?
Für die Bash:
-r Backslash does not act as an escape character. The backslash is considered to be part of the line.
In particular, a backslash-newline pair may not be used as a line continuation.
;)
Gruß Wolfgang
 

Ähnliche Themen

dovecot und postfix Konfiguration Problem

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Windows clients können nicht mehr auf lange laufendes System zugreifen

CentOS 6.3 RADIUS - Keine Verbindung möglich

Displayport + externer Monitor zeigt bei startx nichts erst bei DVI

Zurück
Oben