kostenloser Webspace werbefrei: lima-city


[VB.NET] IP eines Hosts ermitteln trotz (Squid) Proxy

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    fabo

    fabo hat kostenlosen Webspace.

    Hi,

    ich habe ein selten dämliches Problem. Ich möchte zuverlässig die IP-Adresse eines Hosts herausfinden. Zur Zeit mache ich das so:

    Dim host As IPHostEntry = Dns.GetHostEntry("host.tld")
    Dim ipaddr As IPAddress() = host.AddressList
    Dim finalIp As String = ""
    
    For Each addr As IPAddress In ipaddr
        finalIp &= addr.ToString()
    Next addr


    Das funktioniert auch. Jedoch nicht hinter einem Proxy, sodass ich mich nach einer anderen Lösung umschauen muss.

    Letztlich geht es um ein Authentifizierungssystem. Daten werden mit einem externen Webserver abgeglichen und ich möchte verhindern, dass der Host beispielsweise über die hosts umgeleitet wird, um die Authentifizierung zu umgehen.

    EDIT:

    Okay, neuer Plan:

    Dim sr As StreamReader = New StreamReader(Environment.GetEnvironmentVariable("SystemRoot") + "\System32\drivers\etc\hosts")
    Dim val As String = sr.ReadToEnd()
    sr.Close()
    If val.Contains("host.tld") Then
        ' ...
    End If


    EDIT:

    Nach einiger Überlegung bin ich zu dem Entschluss gekommen, dass das nur wenig bringt, da man die Anfrage(n) noch über einen Proxy hooken könnte :/

    Beitrag zuletzt geändert: 21.9.2012 22:57:12 von fabo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    fabo schrieb:
    Letztlich geht es um ein Authentifizierungssystem. Daten werden mit einem externen Webserver abgeglichen und ich möchte verhindern, dass der Host beispielsweise über die hosts umgeleitet wird, um die Authentifizierung zu umgehen.
    Am einfachsten ginge soetwas völlig anders: Public-Key-Authentifizierung, also z.b. mit RSA. Dann musst du keine IP-Adressen (die sich sowieso ändern könnten) prüfen, sondern lieferst mit deinem Programm einen Public Key und hast auf deinem Server den Private Key dazu. Somit kann sich dein Client per Public Key vergewissern, dass es mit dem richtigen Server spricht… und das lässt sich auch über HTTP verwenden, also durch das Proxy hindurch. Nachteil: das ganze ist mit sehrviel mehr Aufwand verbunden.

    Durch ein Proxy hast du sonst keine Chance zuverlässig festzustellen ob du wirklich mit dem richtigen Host "redest"...

    // EDIT:
    beim neuen Plan kann dein Squiddy trotzdem alles verändern, das ist also auch nicht sicher.

    Beitrag zuletzt geändert: 21.9.2012 22:58:06 von hackyourlife
  4. Autor dieses Themas

    fabo

    fabo hat kostenlosen Webspace.

    Das Problem ist, dass ich keinen Einfluss auf den Auth-Server habe d.h. ist nicht meiner und ich kann dort auch nichts bewirken. Dementsprechend bin ich auf "Boardmittel" angewiesen.

    Eine weitere Idee wäre nun, irgendwie mit Handshakes zu arbeiten.
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    fabo schrieb:
    Das Problem ist, dass ich keinen Einfluss auf den Auth-Server habe d.h. ist nicht meiner und ich kann dort auch nichts bewirken. Dementsprechend bin ich auf "Boardmittel" angewiesen.
    Und die Bordmittel sind sehr begrenzt sobald alles durch ein Proxy wandern kann…

    fabo schrieb:
    Eine weitere Idee wäre nun, irgendwie mit Handshakes zu arbeiten.
    Aber wie willst du das machen, wenn du keinen Einfluss auf den Auth-Server hast?
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!