| Autor | Beitrag | 
| NOS1971 
          Beiträge: 193
 
 Windows 8.1 PRO 64 Bit
 Delphi XE7 Professional
 
 | 
Verfasst: Fr 29.03.13 21:24 
 
Hallo zusammen,
 ich würde gern feststellen welche Webseiten noch auf einem Server gehostet sind. Also wenn ich eine domain www.domain.de  habe und die ip des servers möchte ich gern ermitteln welche webseiten dort noch sind. das alles am liebsten in delphi ....
 wie kann ich das anstellen ? welchen ansatz nutze ich oder ist das garnicht möglich ?
 Grüße,
 Andreas | 
|  | 
| mandras 
          Beiträge: 434
 Erhaltene Danke: 107
 
 Win 10
 Delphi 6 Prof, Delphi 10.4 Prof
 
 | 
Verfasst: Fr 29.03.13 21:37 
 
Moderiert von  Narses: Komplett-Zitat des letzten Beitrags entfernt. Prinzipiell nicht möglich. Ein Webserver liefert standardmäßig keine Liste der auf ihm gehosteten Seiten/(Sub-)Domains. | 
|  | 
| NOS1971  
          Beiträge: 193
 
 Windows 8.1 PRO 64 Bit
 Delphi XE7 Professional
 
 | 
Verfasst: Fr 29.03.13 21:41 
 
Moderiert von  Narses: Komplett-Zitat des letzten Beitrags entfernt. Wie machen es dann Analysetools wie Seitenreport.de oder Seitwert.de ? Die können das. | 
|  | 
| mandras 
          Beiträge: 434
 Erhaltene Danke: 107
 
 Win 10
 Delphi 6 Prof, Delphi 10.4 Prof
 
 | 
Verfasst: Fr 29.03.13 21:48 
 
Ich kenne diese Tool nicht.
 Es ist nur ansatzweise machbar.
 Stell' Dir vor Du bist Google und kennst alle gemeldeten Domains. Die werden ja mal vom Robot aufgesucht und der ermittelt zu allen ihm bekannten Domains die IP. Also kann er zu einer gegebenen IP alle Domains heraussuchen die er kennt.
 
 Falls auf einem Server mit einer IP die Google kennt noch eine Domain liegt, die Google weder gemeldet wurde noch in Links von bekannten Domains auftaucht taucht diese Domain nicht auf, wenn man anhand der IP nach ihr sucht.
 | 
|  | 
| NOS1971  
          Beiträge: 193
 
 Windows 8.1 PRO 64 Bit
 Delphi XE7 Professional
 
 | 
Verfasst: Fr 29.03.13 22:32 
 
Moderiert von  Narses: Komplett-Zitat des letzten Beitrags entfernt. Ok ... danke Dir ... das ist ein Ansatz ... mal schauen ob ich damit was hinbekomme   | 
|  | 
| UGrohne 
          
  Beiträge: 5502
 Erhaltene Danke: 220
 
 Windows 8 , Server 2012
 D7 Pro, VS.NET 2012 (C#)
 
 | 
Verfasst: Sa 30.03.13 18:27 
 
Eine Variante ist ein Reverse DNS Lookup. Dabei verwendest Du die IP-Adresse des Servers, um alle PTR-Records für diese zu bekommen. Aber alle bekommst Du nie heraus, je nach Konfiguration des Netzwerks und des Servers. Für diesen Beitrag haben gedankt: NOS1971
 | 
|  | 
| NOS1971  
          Beiträge: 193
 
 Windows 8.1 PRO 64 Bit
 Delphi XE7 Professional
 
 | 
Verfasst: So 31.03.13 13:16 
 
	  |  UGrohne hat folgendes geschrieben  : |  	  | Eine Variante ist ein Reverse DNS Lookup. Dabei verwendest Du die IP-Adresse des Servers, um alle PTR-Records für diese zu bekommen. Aber alle bekommst Du nie heraus, je nach Konfiguration des Netzwerks und des Servers. | 
 Also ich habe das nun mal versucht .... hier mein source
 												| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 20:
 21:
 22:
 23:
 24:
 25:
 26:
 27:
 28:
 29:
 30:
 31:
 32:
 33:
 34:
 
 | vari : integer;
 ip : string;
 begin
 ip := '';
 edDNSResolver.Clear;
 edDNSResolver.Lines.Add('URL ' + parseHost(edURL.Text));
 IdDNSResolver.Host := sDefaultDNSServer2;
 IdDNSResolver.WaitingTime := 5000;
 IdDNSResolver.ClearInternalQuery;
 IdDNSResolver.QueryType := [TQueryRecordTypes.qtSTAR];
 IdDNSResolver.Resolve(parseHost(edURL.Text));
 for i := 0 to IdDNSResolver.QueryResult.count - 1 do
 begin
 edDNSResolver.Lines.Add(GetDNSResolverDetail(IdDNSResolver.QueryResult.Items[i]));
 if (IdDNSResolver.QueryResult.Items[i] is TARecord) then
 ip := TARecord(IdDNSResolver.QueryResult.Items[i]).IPAddress;
 end;
 if ip <> '' then
 begin
 IdDNSResolver.Host := sDefaultDNSServer2;
 IdDNSResolver.WaitingTime := 5000;
 IdDNSResolver.ClearInternalQuery;
 IdDNSResolver.QueryType := [TQueryRecordTypes.qtPTR];
 IdDNSResolver.Resolve(ip);
 for i := 0 to IdDNSResolver.QueryResult.count - 1 do
 begin
 edDNSResolver.Lines.Add(GetDNSResolverDetail(IdDNSResolver.QueryResult.Items[i]));
 end;
 end;
 end;
 |  dazu noch die getdetail routine
 												| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 20:
 21:
 22:
 23:
 24:
 25:
 26:
 27:
 28:
 29:
 30:
 31:
 32:
 33:
 34:
 35:
 36:
 37:
 38:
 39:
 40:
 41:
 42:
 43:
 44:
 45:
 46:
 47:
 48:
 
 | function GetDNSResolverDetail(RR: TResultRecord) : string;begin
 if (RR is TPTRRecord) then
 Result := 'PTR = ' + TPTRRecord(RR).Name + #13 + #10;
 if (RR is TAAAARecord) then
 Result := 'Address = ' + TAAAARecord(RR).Address + #13 + #10;
 if (RR is TNAMERecord) then
 Result := 'Hostname = ' + TNameRecord(RR).HostName + #13 + #10;
 
 if (RR is TARecord) then
 Result := 'IP address = ' + TARecord(RR).IPAddress + #13 + #10;
 if (RR is TCNRecord) then
 Result := 'Name Server = ' + TCNRecord(RR).HostName + #13 + #10;;
 if (RR is THINFORecord) then
 Result := 'CPU =' + THINFORecord(RR).CPU + '; OS= ' + THINFORecord(RR).OS +
 #13 + #10;;
 if (RR is TMINFORecord) then
 Result := 'Responsible Email is: ' + TMINFORecord(RR)
 .ResponsiblePersonMailbox + #13 + #10;;
 if (RR is TMXRecord) then
 Result := 'Mail Server is: ' + TMXRecord(RR).ExchangeServer + #13 + #10;;
 if (RR is TNAMERecord) then
 Result := 'Name Server = ' + TNAMERecord(RR).HostName + #13 + #10;;
 if (RR is TNSRecord) then
 Result := 'Name Server = ' + TNSRecord(RR).HostName + #13 + #10;
 if (RR is TPTRRecord) then
 Result := 'PTR = ' + TPTRRecord(RR).HostName + #13 + #10;
 if (RR is TRDATARecord) then
 Result := 'IP address = ' + TRDATARecord(RR).IPAddress + #13 + #10;
 if (RR is TSOARecord) then
 begin
 Result := 'Primary Domain Server = ' + TSOARecord(RR).Primary + #13 + #10;
 Result := Result + 'ResponsiblePersion mail = ' + TSOARecord(RR)
 .ResponsiblePerson + #13 + #10;
 Result := Result + 'Serial = ' + IntToStr(TSOARecord(RR).Serial) +
 #13 + #10;
 Result := Result + 'Refresh = ' + IntToStr(TSOARecord(RR).Refresh) + ' (' +
 DecodeSecToTime(TSOARecord(RR).Refresh) + ')' + #13 + #10;
 Result := Result + 'Retry = ' + IntToStr(TSOARecord(RR).Retry) + ' (' +
 DecodeSecToTime(TSOARecord(RR).Retry) + ')' + #13 + #10;
 Result := Result + 'Expire = ' + IntToStr(TSOARecord(RR).Expire) + ' (' +
 DecodeSecToTime(TSOARecord(RR).Expire) + ')' + #13 + #10;
 Result := Result + 'default TTL = ' + IntToStr(TSOARecord(RR).MinimumTTL) +
 ' (' + DecodeSecToTime(TSOARecord(RR).MinimumTTL) + ')';
 end;
 if (RR is TTextRecord) then
 Result := TTextRecord(RR).Text.Text;
 end;
 |  als ergebnis erhalte ich aber nur das hier ... also benachbarte domains sind da nicht dabei
 		                       Quelltext 
 									| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 
 | URL modellbau-portal.netIP address = 109.237.138.26
 Mail Server is: mail.modellbau-portal.net
 Name Server = cns1.alfahosting.info
 Name Server = cns2.alfahosting.info
 Name Server = cns3.alfahosting.info
 Primary Domain Server = cns1.alfahosting.info
 ResponsiblePersion mail = hostmaster.alfahosting.de
 Serial = 2012011402
 Refresh = 28800 (8hour)
 Retry = 7200 (2hour)
 Expire = 604800 (7day)
 default TTL = 180 (3min)
 PTR = alfa3058.alfahosting-server.de
 |  Was mache ich falsch oder bekomme ich die gewünschten daten so einfach nicht ? | 
|  | 
| glotzer 
          Beiträge: 393
 Erhaltene Danke: 49
 
 Win 7
 Lazarus
 
 | 
Verfasst: So 31.03.13 13:48 
 
Ich kann dir aufjedenfall deine Frage beantworten was dort noch gehostet ist, allerdings habe ich leider keinen Code dazu:
 Erst ein WhoIs um die IP herrauszufinden: whois.gwebtools.de/modellbau-portal.net  -> 109.237.138.26
 Dann der Reverse DNS Lookup: whois.gwebtools.de/109.237.138.26 ->
 	  | Zitat: |  	  | internet-prepaid.com
 kostenlosesdepot.net
 orchidsgarden-thaimassagen.de
 fahrschule-wiesenbauer.de
 autoschrotthaendler.com
 geschenkegigant.de
 schrotthaendler-berlin.com
 modellbau-portal.net
 gutscheinorkan.de
 wiitool4you.de
 
 | 
_________________ ja, ich schreibe grundsätzlich alles klein und meine rechtschreibfehler sind absicht
 | 
|  | 
| NOS1971  
          Beiträge: 193
 
 Windows 8.1 PRO 64 Bit
 Delphi XE7 Professional
 
 | 
Verfasst: So 31.03.13 14:04 
 
Moderiert von  Narses: Komplett-Zitat des letzten Beitrags entfernt. Ja ... und genau das will ich mit Delphi realisieren   | 
|  | 
| mandras 
          Beiträge: 434
 Erhaltene Danke: 107
 
 Win 10
 Delphi 6 Prof, Delphi 10.4 Prof
 
 | 
Verfasst: So 31.03.13 18:45 
 
Und da haben wir das Problem: bei modellbau-portal.net kommen sinnvolle Antworten (ich kann natürlich nicht sagen ob das alle dort gehosteten Domains sind), 
bei den von mir gehosteten Servern kommt nix sinnvolles, weil die standardmäßig konfiguriert sind und dort liefert der DNS für Reverse-Anfragen nur einen Domainnamen, was für Mailversand benötigt wird.
 | 
|  | 
| NOS1971  
          Beiträge: 193
 
 Windows 8.1 PRO 64 Bit
 Delphi XE7 Professional
 
 | 
Verfasst: So 31.03.13 19:04 
 
Moderiert von  Narses: Komplett-Zitat des letzten Beitrags entfernt. merkwürdig ... ich bin immer noch der überzeugung es geht ... oder sagen wir mal man kann zumindest einen teil davon ermitteln ... ich dachte ich bin der sache schon nahe aber irgendwie komme ich wirklich nicht weiter ... ob ich es mal mit einem script versuche aus dem web ? | 
|  | 
| mandras 
          Beiträge: 434
 Erhaltene Danke: 107
 
 Win 10
 Delphi 6 Prof, Delphi 10.4 Prof
 
 | 
Verfasst: So 31.03.13 19:21 
 
Es kann nur funktionieren für Domains, für die ein Reverse-Eintrag vorliegt.
 Zumindest bei einem Linux-System mit Apache ist dies nicht erforderlich und nicht Standard.
 Schon bei google.de meldet gwebtools nicht alle Domains (zB: www.google.de  fehlt).
 Ein Hinweis warum das so ist:
 Wenn Du im Browser "www.google.de" eingibst ermittelt der Browser über ein DNS Lookup die IP.
 Der DNS liefert die IP von google.de (da er weiß, daß "www.google.de" das gleiche ist wie "google.de", das hat ihm aber Google gesagt).
 Als nächstes schickt der Browser ein HTTP-GET mit der vollen URL an die oben gefundene IP.
 Der Webserver bei Google wäre nun in der Lage zu unterscheiden ob "www.google.de" oder nur "google.de" gemeint ist, sie haben zwar die gleiche IP, aber im Request Header sagt der Browser die volle URL.
 Wie man sieht, ist für eine URL überhaupt kein Reverse Eintrag erforderlich. Daher bieten es auch nicht alle. | 
|  | 
| NOS1971  
          Beiträge: 193
 
 Windows 8.1 PRO 64 Bit
 Delphi XE7 Professional
 
 | 
Verfasst: So 31.03.13 19:36 
 
Moderiert von  Narses: Komplett-Zitat des letzten Beitrags entfernt. Ah ... ok ... trotz allem scheint es aber probleme mit meinem code zu geben da ich ja nicht einmal die ergebnisse bei modellbau-portal.net über meinen code bekomme die greifbar sind    ... muss mich wohl noch ein wenig mit dem code rumschlagen und mal schauen wie weit ich komme   | 
|  | 
| MDX 
          Beiträge: 595
 Erhaltene Danke: 4
 
 Windows 8.1, Linux Debian 8, Android Lollipop
 Delphi, PHP, Java (Android)
 
 | 
Verfasst: Mi 22.05.13 00:34 
 
Es gibt auch noch Websiten mit mehreren IPs (Google, Facebook, Twitter, eBay, ...) (; | 
|  |