none
IP auslesen von DDNS RRS feed

  • Frage

  • Hallo zusammen,

    wenn ihr diese url in Euren Browser eingibt, erhaltet Ihr Eure aktuelle öffentliche IP von Dem Router.

    http://checkip.dyndns.org/

    Wie bekomme ich aber die IP meines Partners heraus, wenn ich den alias Namen habe??

    Gruß Ellen

     


    Ich benutze/ I'm using VB2008 & VB2010
    Donnerstag, 23. Juni 2011 10:24

Antworten

  • Hallo Ellen,

    zum Auflösen der IP Adresse(n) eines Hostnamen, bietet das Framework die Methode GetHostAddresses an:

      Try
       Dim lAddressList() As System.Net.IPAddress = System.Net.Dns.GetHostAddresses("host.webhop.net")
    
       Console.WriteLine(lAddressList(0).ToString())
    
      Catch ex As Exception
    
       Console.WriteLine(ex.Message)
      End Try
    


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Ellen Ramcke Donnerstag, 23. Juni 2011 18:38
    Donnerstag, 23. Juni 2011 10:59
    Beantworter
  • Hallo Ellen,

    die Adresse wird von einem Nameserver aufgelöst. Meist stellt bereits der Provider einen solchen zur Verfügung. Der Router hat solche fest konfiguriert oder fragt diese bei der Einwahl bei Deinem Provider ab. Bei der Wikipedia findest Du zu dem Thema einen ausführlichen Artikel:

    http://de.wikipedia.org/wiki/Domain_Name_System

    Ich meinte die TcpClient Klasse und die entsprechende Überladung ihres Konstruktors.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Ellen Ramcke Donnerstag, 23. Juni 2011 18:38
    Donnerstag, 23. Juni 2011 16:06
    Beantworter

Alle Antworten

  • Hallo Ellen,

    ist "Wie bekomme ich aber die IP meines Partners heraus, wenn ich den alias Namen habe??" ein Alias für "Wie lautet die Adresse der Schlampe meines Liebhabers, wenn ich nur deren Vornamen kenne??" ?
    Whatever. Der Aliasname wird meines Wissens im CNAME Record des Webservers eingetragen. Ich glaube mich zu erinnern, das nslookup die Wahl für eine derartige Auslese ist.
    Aber offen gesagt bin ich etwas überfragt, weil ich die Aufgabenstellung doch nicht ganz verstanden habe, ich aber unbedingt antworten wollte. ;-)

    Lieber Grüße
    Martin 

    Donnerstag, 23. Juni 2011 10:56
  • Hallo Ellen,

    zum Auflösen der IP Adresse(n) eines Hostnamen, bietet das Framework die Methode GetHostAddresses an:

      Try
       Dim lAddressList() As System.Net.IPAddress = System.Net.Dns.GetHostAddresses("host.webhop.net")
    
       Console.WriteLine(lAddressList(0).ToString())
    
      Catch ex As Exception
    
       Console.WriteLine(ex.Message)
      End Try
    


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Ellen Ramcke Donnerstag, 23. Juni 2011 18:38
    Donnerstag, 23. Juni 2011 10:59
    Beantworter
  • Hallo Thorsten,

    wenn ich meine eigene dyndns verwende, kommt da die Meldung: "Der angegebene host ist unbekannt".

    Also unter dyndns verstehe ich z.B. meinName.dynalias.org dass Da eine IP dahinter steht meine aktuell zugewiesene.

    Dann kann man statt absolut http://79.111.2.200 auch schreiben http://meinName.dynalias.org

    Ich brauche aber die absolute Adresse eines´Teilnehmers im Netz, weil ich TCP machen will und kein http

    Ellen

     P.S´. versucht es mal mit er.dynalias.org  . Das ist nämlich mein Router. Kriegt Ihr die IP Adresse raus?

     


    Ich benutze/ I'm using VB2008 & VB2010
    • Bearbeitet Ellen Ramcke Donnerstag, 23. Juni 2011 12:08 Nachtrag
    Donnerstag, 23. Juni 2011 12:05
  • Hallo Ellen,

    mir ist schon klar, was DynDNS ist und bei mir funktioniert die Abfrage sowohl der eigenen IP Adresse, wie auch Deines Alias. Du darfst auch nur den Hostnamen ohne den Protokollprefix, wie "http://" angeben.

    Die TcpClient Klasse bspw. unterstützt auch die Angabe des Hostnamen und löst selbstständig die IP Adresse auf. Was Du beachten solltest, dass die meisten Router eingehende Verbindungen in der Standardkonfiguration blockieren. Ferner muss der Router so konfiguriert sein, dass er eingehende Verbindungen zu dem entsprechenden Rechner/Server im Netzwerk weiterleitet.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Donnerstag, 23. Juni 2011 12:23
    Beantworter
  • Hallo Ellen,

    zunächst wirst Du sehr wahrscheinlich Deinen Router konfigurieren müssen.

    Da der üblicherweise mit NAT arbeitet, musst Du für Verbindungen, die Du nach draussen (ins Internet) anbieten willst,
    eine Ausnahmeregel für NAT erstellen - bei meinem (Telekom) Router gibts dafür eine Konfigurationseite.
    Mehr findest Du u. a. http://www.dyndns.com/support/kb/routers_and_port_forwarding.html

    Die Teilnehmeradresse brauchst Du nicht. DNS löst den Namen auf:
    er.dynalias.org => 91.57.124.247 zum Zeitpunkt dieses Beitrags.

    Welches Protokoll (=> Port) Du verwendest ist eine zweite Sache.

    Gruß Elmar

    Donnerstag, 23. Juni 2011 12:32
    Beantworter
  • Hallo Thorsten,

    Dein Beispiel geht . Da hängt mal wieder ein proxy mit entsprechender Authentifizierung dazwischen. In einer Anlage ohne proxy funktioniert das .

    Was mir nicht ganz klar war, wie solch eine Adresse aufgelöst wird. Wird die  jetzt bei dyndns.org angefordert, oder von einem dieser DNS Server

    (aus meinem Router)  und Frage: wie kommt die da hin?

    Primärer DNS-Server:      217.0.43.1
    Sekundärer DNS-Server: 217.0.43.193  ??
    Unten schreibst Du TCP löst den Namen selbstständig auf. Welche Klasse bzw Methode macht das?
    schöne Grüsse Ellen
     

    Ich benutze/ I'm using VB2008 & VB2010

    Donnerstag, 23. Juni 2011 15:07
  • Hallo Elmar,

    ich bin auch bei der telekom und habe den speedport W 303V. NAT Regeln habe ich eingerichtet. Das läuft gut. Die Adresse kann ich bestätigen. Stimmt

    Danke für Deine Info

    Gruss Ellen

     


    Ich benutze/ I'm using VB2008 & VB2010
    Donnerstag, 23. Juni 2011 15:14
  • Hallo Ellen,

    die Adresse wird von einem Nameserver aufgelöst. Meist stellt bereits der Provider einen solchen zur Verfügung. Der Router hat solche fest konfiguriert oder fragt diese bei der Einwahl bei Deinem Provider ab. Bei der Wikipedia findest Du zu dem Thema einen ausführlichen Artikel:

    http://de.wikipedia.org/wiki/Domain_Name_System

    Ich meinte die TcpClient Klasse und die entsprechende Überladung ihres Konstruktors.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Ellen Ramcke Donnerstag, 23. Juni 2011 18:38
    Donnerstag, 23. Juni 2011 16:06
    Beantworter
  • Ich meinte die TcpClient Klasse und die entsprechende Überladung ihres Konstruktors.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de


    Hallo Thorsten,

    das war die Lösung, die ich  schon lange suche. Ich werde sofort alle meine Programme umschreiben.

    hostname
    Typ: System.String
    Der DNS-Name des Remotehosts, mit dem eine Verbindung hergestellt werden soll.
    port
    Typ: System.Int32
    Die Anschlussnummer des Remotehosts, mit dem eine Verbindung hergestellt werden soll.

    schöne Grüsse Ellen

     


    Ich benutze/ I'm using VB2008 & VB2010
    • Bearbeitet Ellen Ramcke Freitag, 24. Juni 2011 09:42 bearbeitet
    Donnerstag, 23. Juni 2011 18:37