[VB.NET] IP eines Hosts ermitteln trotz (Squid) Proxy
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
adresse
arbeiten
aufwand
chance
code
datum
festzustellen
host
idee
nachteil
plan
problem
richtigen server
server
string
umgehen
url
vergewissern
verhindern
wandern
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
fabo schrieb:
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.
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.
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 -
fabo schrieb:
Und die Bordmittel sind sehr begrenzt sobald alles durch ein Proxy wandern kann…
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.
fabo schrieb:
Aber wie willst du das machen, wenn du keinen Einfluss auf den Auth-Server hast?
Eine weitere Idee wäre nun, irgendwie mit Handshakes zu arbeiten. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage