Verbindung umleiten

Tumbleweed

Captain
Registriert
März 2008
Beiträge
3.600
Ich möchte Verbindungen (von einem bestimmten Prozess) zu einer bestimmten static IP temporär auf localhost umleiten können.

Ganz konkret - auf einem Server läuft ein Gameserver-Prozess, den ich auch lokal laufen lasse, zu Entwicklungszwecken. Der Client hat die IP fest eingebrannt, den kann ich nicht beeinflussen.

Erste Idee war - redirect in Windows hosts file eintragen. Ach ja, an dieser Stelle sei erwähnt, es geht mir nur um Windows 7.
Problem: funktioniert nur mit hostnames, nicht mit IPs.

Also habe ich Google bemüht und bin über das route command gestolpert. Habe es auch mal ausprobiert, allerdings immer mit der Antwort "The route addition failed: The parameter is incorrect". Sah so aus:
Code:
route ADD xxx.xxx.xxx.xxx MASK 255.255.255.255 127.0.0.1
wobei bei den ganzen x natürlich die richtige IP stand, von der ich wegleiten will auf localhost.
Bin mir auch nicht so ganz sicher, ob das überhaupt für meinen Zweck geeignet ist. Wenn ja, dann könnte ich mir das ja automatisieren.

Gibt es für so etwas schon kleine Tools mit denen man temporär umleiten kann? Würde mir auch selbst was schreiben, weiß nur nicht so recht wonach ich suchen muss. Am liebsten wäre mir natürlich, nur ein bestimmter Prozess/Port würde umgeleitet (damit ich die Website währenddessen noch erreichen kann, die ebenfalls auf dem Zielserver liegt), aber das wäre optional.
 
Das machst du in der C:\WINDOWS\system32\drivers\etc\hosts

dort kannst du hostname zu ip auflösen das geht 100%

Warum sprichst du den Gamerserver dienst nicht einfach über nen Namen an? Dann geht dein vorhaben ohne Probleme.

MASK 255.255.255.255
Das ist ne etwas kleine Subnetzmaske ... da passen genau 0 Adressen rein probier mal mit /24 (255.255.255.0)

wobei bei den ganzen x natürlich die richtige IP stand,
Und auch das ist falsch du leitest Netze um keine IP Adressen ans ende würde hier die 0 gehören.
 
Zuletzt bearbeitet:
Ich möchte Verbindungen (von einem bestimmten Prozess) zu einer bestimmten static IP temporär auf localhost umleiten können.

dafür is doch die bereits genannte hosts wie geschaffen ;P

anderfalls musste einen lokalen proxy installieren
was die ganze sache extrem umständlich macht -.-

Und auch das ist falsch du leitest Netze um keine IP Adressen ans ende würde hier die 0 gehören.
nicht 255 ? du willst doch doch alle umleiten also den broadcast benutzen ?
 
Also zum Thema hosts - ein Eintrag wie
Code:
127.0.0.1 xxx.xxx.xxx.xxx
funktioniert nicht. Wenn ich die IP dann anpinge, komme ich im WWW an, nicht lokal (<1ms). Gibts da eine spezielle Syntax zur Verwendung von IPs statt hostnames? Ansonsten fällt diese Lösung flach, denn der Client, den ich wie gesagt nicht beeinflussen kann, erbittet eine Verbindung zu einer konkreten IP, keinem hostname.

@Revolution:
Habe mal folgendes versucht:
Code:
route ADD xxx.xxx.xxx.0 MASK 255.255.255.0 127.0.0.1
Es resultierte abermals in der oben genannten Fehlermeldung.
 
Zuletzt bearbeitet:
weiß grad ned ob des so funktioniert wenn ned dann schieb nen dns dazwischen der dir den namen wieder auf die richtige ip auflöst
 
beide ansätze sind quatsch. es gibt unter windows keine "normale" möglichkeit das umzuleiten. weder mit route, noch mit hosts file.

aber auch für solche dinge hab ich was in meiner trickkiste..

stell deine netzwerkschnittstelle vorübergehend auf statische ip und füge als zusätzliche statische ip die ip des servers zum interface hinzu. dann musst du deinen lokalen gameserver entweder auf genau dieser ip oder auf any (0.0.0.0) laufen lassen.

btw. wieso hast du eigentlich lulzsec als avatar? ;)
 
Avatar aus Sympathie/Faszination/Interesse und weil er ganz nett aussieht. :D

Deinen Trick werde ich mal probieren, aber das ist schon unangenehm umständlich, weil ich dann gar nicht mehr ins Netz komme, während ich den Server laufen hab. Kann ich gar nicht verstehen, warum so etwas Einfaches (mit hostnames geht es doch auch) nicht möglich ist. :freak:

Naja vielleicht fällt ja noch jemandem was ein. Ich danke auf jeden Fall allen Antwortenden für die Aufmerksamkeit! ;)
 
klar kannst du noch ins internet. nur halt nicht mehr auf den betreffenden server.

@gustl: wie darf man das verstehen?
 
Das ist eine berechtigte Frage, aber das auszudiskutieren, wird uns die Forenleitung hier nicht gestatten. :evillol: Vielleicht lohnt sich ja ein Sammelthread dazu.
Wenn man hier eine Weile liest und beobachtet, was die Leute schreiben (sind eigentlich immer die gleichen), dann bekommt man auf jeden Fall mit, wie erfahren jemand ist und teilweise scheint auch der Beruf durch. Man lernt ständig dazu, denn keiner hat wohl genug Zeit sich mit sämtlichen Feldern der Programmierung zu befassen. :freaky:

@IceMatrix:
Wenn ich dich richtig verstanden habe, meintest du doch ich soll statt die IP meines Rechners per DHCP vom Router zu beziehen, eine feste IP einstellen (nämlich die IP des "echten" Servers, zu dem mein Client connecten will?). Wenn ich das mache, befürchte ich, dass mein Router das nicht tolerieren wird, denn der hat DHCP an und sämtliche andere Clients im Haus bewegen sich auch in dieser range. Da würde ich ja völlig rausfallen und damit vermutlich auch nicht mehr connecten können. Vielleicht habe ich deinen Trick aber auch missverstanden. :D
 
Zuletzt bearbeitet:
@Tumbleweed: ja hast du falsch verstanden. stell die ip die du per dhcp bekommst statisch ein (und auch gateway+dns) und dann fügst du _zusätzlich_ die ip vom server statisch hinzu. das nennt sich multinetting. du findest die settings dort wo du die statische ip einstellst.. -> erweitert/ip-adressen/hinzufügen

@GustlPC: da braucht man kein CCNA4 für. nur bisschen skill und umfassendes technisches verständnis.
 
Hi,

sorry, dass ich den Thread nochmals herauskrame aber was ich wissen moechte passt exakt hier dazu.

Ich habe alle so eingestellt, wie IceMatrix erklaert hat und es funktioniert auch wunderbar. Jetzt wuerde ich aber auch noch gerne den port umleiten. Also sprich: alles was von xxx.xxx.xxx.xxx:80 soll nach localhost:8080

Ist das irgendwie moeglich? C# laesst mich naemlich keinen TCPListener auf den port 80 haengen, da dieser ja belegt ist...

Danke im Voraus.
mfg maecky
 
Bin nicht sicher ob das mit normalen Mitteln unter Windows möglich ist. Auf Linux kannst du es über einen iptables redirect machen. Bei Windows vermutlich nur über direkte Eingriffe in den Netzwerkstack.
Welcher Prozess blockiert dir den Port 80? Vielleicht kannst du den abstellen oder dazu bringen auf einer anderen IP-Adresse zu binden.
 
Zuletzt bearbeitet:
Zurück
Oben