Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   [Netzwerk] Gatway erkennen und auf anderen Port umleiten (https://www.delphipraxis.net/172125-%5Bnetzwerk%5D-gatway-erkennen-und-auf-anderen-port-umleiten.html)

Paulh 13. Dez 2012 20:09

[Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Hallo Forum,

ich habe mehrere Server auf einen Server in meinen Lokalen Netzwerk laufen. Die User werden per
DynDns auf die Server geleitet, die geht aber nur mit mehreren Port heißt bla.de:1233 oder bla.de:1234.

Mein Zeil ist es den Domainnamen zufinden, heißt dann z.B. s1.bla.de oder s2.bla.de und diese dann
auf einen andern Port und an den Server weiter zuleiten :-D.

Ach ja ich habe eine Fritzbox 7390..


Danke an alle die Helfen!

WM_CLOSE 13. Dez 2012 20:29

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
[del]

Valle 13. Dez 2012 20:36

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Versteh' ich nicht. Kannst du das nochmal genauer erläutern?

Geht es um HTTP, oder welchen Service? Welches Betriebssystem? Was genau hast du vor?

Liebe Grüße,
Valentin

Paulh 13. Dez 2012 20:48

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Es geht um Minecraft Server, ich habe im moment 3 auf einen Server laufen, ich muss dann aber immer
verschiedene Prots angehen unmal dann auf den Server1 zukommen.

So ist es:
DOMAIN.de:123 -> Server 1
DOMAIN.de:124 -> Server 2
DOMAIN.de:125 -> Server 3

So soll es werden
s1.DOMAIN.de(:Standartport) -> Server 1
s2.DOMAIN.de(:Standartport) -> Server 2
s3.DOMAIN.de(:Standartport) -> Server 3

Was bedeutet das man wenn man von s1.DOMAIN.de kommt auf den Port X geleitet werden soll,
was der User nicht merkt usw.

Der Server ist Windows 7 x64 mit 16GB Ram

Valle 13. Dez 2012 21:04

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Das geht nicht.

Dafür brauchst du mehrere IPs, die du als Privatkunde nicht hast. Und selbst wenn du sie haben könntest, würden sie einiges an Geld kosten.

Liebe Grüße,
Valentin

Paulh 13. Dez 2012 21:07

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Aber :D mit Apache geht das ohne Probleme ich hab 4 URLs und die Leitet der
mit den VirtualServer dings auf andere Verzeichnise...

BUG 13. Dez 2012 21:24

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Das wird aber mithilfe des Host-Headers in HTTP gemacht ... solange Minecraft nicht so etwas ähnliches unterstützt, sieht es schlecht aus :wink:

EDIT:
Wenn man sich das Protokoll so anguckt, sollte es tatsächlich möglich sein, virtuelle Server mithilfe eines Proxies zu erzeugen. Mithilfe des "Verification key" im "Player Identification"-Packet könnte man erkennen, zu welchem Server sich der Client verbinden möchte und dann die TCP-Verbindung zu dem richtigen Server aufzubauen. Das umzusetzen sollte aber für ein Heimserver mehr Arbeit machen als es wert ist.

Paulh 13. Dez 2012 21:59

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Achso.. aber wenn ich mir das Packet das vom Client ankommt rauspicke, habe ich ja die "Serveradresse" und den Port ist es dann nicht möglich einfach das Packet zuverändern und dann wieder loszuschicken :D ?

->> Aktuelles Protokol http://www.wiki.vg/Protocol

BUG 13. Dez 2012 22:53

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Ha, in den Daten der Handshake-Message ist der Host ja enthalten :-D

Sonst scheint der Host nirgendwo verwendet zu werden. Wenn du also diese Message "übersetzt" und den Rest einfach weiterleitest, könnte es sogar funktionieren, ohne sich Gedanken über die Verschlüsselung zu machen :shock:

Wenn du mit DynDNS keine Subdomains anlegen kannst, bringt dir das alles allerdings nichts.
Du solltest auch daran denken, dass dann alle Verbindungen über den Proxy laufen, der damit zum Flaschenhals werden könnte.

Paulh 14. Dez 2012 14:46

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Man kann es zumindest ja mal versuchen und dann gucken ob es geht. :)
Stellt sich nur die Frage wie man das anstellt...
Aber was ist der Handshake wir der nur ausgeführ wenn man auf den Server verbindet oder
auch wenn man den Server in der Serverliste anzeigt ??

Und ja ich kann so viele DynDns Subdomains machen wie ich will :D (Hab da mir ein Programm zum Updaten geschrien)

Edit:
Habe was gefunden was sich gut anhört:
http://de.wikipedia.org/wiki/WinPcap ?

Paulh 16. Dez 2012 20:24

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Hat jemand einen Codeschnipsel um die Netzwerkkarte abzuhören?

Valle 16. Dez 2012 21:08

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Wozu?

Wenn der Hostname im Datenstream mitgeschickt wird, dann musst du nur auf einem Port lauschen, die Daten empfangen und auswerten und sie anschließend an den richtigen Minecraft-Server weiterleiten. Also nach dem Proxy-Prinzip. PCap wird dir hier nicht weiterhelfen.

Liebe Grüße,
Valentin

Paulh 17. Dez 2012 12:04

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Proxy :D Hab noch nie mit soetwas gearbeitet (Sorry für meine Dummheit)

Habe jetzt einen IdHTTPProxy Server und deren Port auf 25565 gestellt und das gemacht:

Delphi-Quellcode:
procedure TForm1.IdHTTPProxyServer1Execute(AContext: TIdContext);
begin
 showmessage(AContext.ToString);
end;
Eienen Server auf localhost angemacht und dann auf den Server verbunden, nichts ist passiert :(


EDIT:

Habe jetzt den Proxy Server nicht aktiviert gehabt :)
Ist jetzt, nur jetzt bekomme ich keine Verbindung zum Server, aber es
gibt noch einen Message aus..

Paulh 21. Dez 2012 11:02

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Wirklick niemand eine Idee?

Valle 21. Dez 2012 14:18

AW: [Netzwerk] Gatway erkennen und auf anderen Port umleiten
 
Zitat:

Zitat von Paulh (Beitrag 1196385)
Wirklick niemand eine Idee?

Sorry, aber du spielst doch Minecraft, nicht wahr? HTTP hat mit Minecraft nichts zutun. Beides sind zwei völlig unterschiedliche Kommunikationsprotokolle.

Du wirst das selbst programmieren müssen, da hilft nur ein ClientSocket und ein ServerSocket. Aber glaub mir, das ganze ist ziemlich komplex und keinesfalls schnell gemacht. Ich meine mal, dass ein Freund von mir bereits von einem solchen Programm erzählt hat, das genau das tut, was du da machen willst. Ich glaube es war eine Eigenentwicklung für deren Server. Dort haben mehrere Informatik-Studenten dran gearbeitet und soweit ich weiß hat das Teil nie wirklich stabil funktioniert.

Nimm das nicht persönlich, aber ich glaube du solltest dir für dein nächstes Projekt eher etwas einfacheres suchen. Du brauchst noch einiges an Netzwerkkenntnissen um so eine Software zu entwickeln. Erfahrungsgemäß führt das nur dazu, dass du dir die Zähne daran ausbeist und den Spaß an der Programmierung verlierst. Und wenn du doch unbedingt etwas über Netzwerke lernen willst, dann empfehle ich dir mal einen Chat zu programmieren, einen Linux-Rechner ohne GUI aufzusetzen, eine iptables-Firewall zu konfigurieren und eventuell mal ein Buch zu lesen. Das alles geht aber nicht von heut auf morgen. :thumb:

Liebe Grüße,
Valentin


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz