Autor Beitrag
GERM
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 10.06.03 18:55 
Hi ich wollt mal wissen ob es möglich ist packete eines Spieles abzufangen und diese dann weiterzuleiten.
Der Sinn dabei ist das ich Spiele zum laufen bekomme die mit nem Router im normalfall nicht laufen da sie die falsche IP dem gegenüber übermitteln (LAN IP statt Inet IP).
Also wenn jemand weiss ob das geht und wie ich dat anstellen kann fänd ich dat echt super :lol:
Thx

PS: Das Spiel das ich gern zum laufen bekommen will ist C&C - Generals und zwar über die DirectConnection
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Di 10.06.03 19:19 
Das könnte man mit einem Proxy realisieren. Dann müsstest du "nur" noch die Spiele anweisen, zu deinem Proxy zu connecten et voilà... das ist was mir dazu einfällt :-|

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Di 10.06.03 20:31 
Ich glaube nicht, dass du dafür unbedingt programmieren musst! Dein Router verwendet bestimmt (bzw. sollte) IP-Masquerading. Darüber hinaus musst du nur mit NAT ein Portmapping konfigurieren, damit alle Pakete vom INet an den Router auf z.B. UDP Port 21000 weitergeleitet werden an 192.168.0.1.
Unter Linux mit iptables würde das z.b. so aussehen:
ausblenden Quelltext
1:
iptables -A PREROUTING -i ppp0 -p udp -m udp --dport 21000 -j DNAT --to-destination 192.168.0.1:21000					

ppp0 ist hier das Interface zum Internet. Bei den meisten "Fertig-Routern" kannst du sowas auch einrichten.
GERM Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 10.06.03 21:27 
Das Problem ist das viele Spiele bei Connecten dem gegenüber die eigene IP senden, da die Spiele aber nicht für Router ausgelegt sind schicken sie dem gegenüber die interne LAN IP und dann geht natürlich nix!!!
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Di 10.06.03 22:29 
Die Spiele schicken selbstständige eigentlich keine Adresse an den Server. Der Server sieht nur an den Paketen woher sie stammen. Und wenn in deinem Router Masquerading deaktiviert ist (was ihn für den alltäglichen Gebrauch fast nutzlos macht) dann steht in den Headern der Pakete deine interne IP. Mit Masquerading überschreibt der Router die IP mit seiner eigenen und leitet Antworten auf die Pakete wieder an die interne IP.
GERM Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Mi 11.06.03 11:50 
kA ob mein Router das kann (SMC 7004 BR, Firmware R1.95n), ich find zumindest nix wo ich dat einstellen könnt.
Aber selbst wenn ers net könnt, macht er ja genau das was ich will den Packeten die richtige Ip mitgeben, des musst man dann doch au Softwaremäßig machen können oder??

PS: Ich lauf als DMZ-Host
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Mi 11.06.03 12:21 
Hab mir grad mal das Handbuch von deinem Router angesehn. Ein Portmapping kannst du über die Virtual Server Konfiguration im Router einrichten. Leite da einfach alle Ports, die das Game so braucht direkt auf deinen Rechner (bei Server-IP eintragen) um. Dieses Setup sollte dann in etwa mit den Settings in meiner Linux-Firewall übereinstimmen, und ich hatte damit bis jetzt keine Sorgen. Konnte bisher alle Games zocken.
GERM Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Mi 11.06.03 13:57 
dat hab ich au schon mal gemacht hat aber au net geklappt, weil da is ja immer noch dat Prob mit der falschen IP von den Packeten, ich bekomm ja die Packete, wenn se auf die Router IP gesendet werden. Jedoch schickt mein Gegenüber die packete ja an die falsche IP!!
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Mi 11.06.03 18:50 
Funktioniert es nur nicht, wenn dein PC der Server ist oder auch sonst nicht?
Wenn dein PC der Client ist, sollte es eigentlich auch ohne Portmapping funktionieren.
Hm, aber wenn das alles trotzdem nicht funktioniert, dann steig ich nich so recht durch diesen komischen Router durch. Wenn du surfen kannst etc. dann muss auch sowas wie Masquerading aktiviert sein. Und wenn Masquerading aktiviert ist und die Ports nicht geblockt werden, dann müssen auch die Spile funktionieren (soweit die Theorie *g*). Oder hat Generals so ein unflexibles Netzprotokoll!? Funktionieren andere Spiele?
MaxiTB
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: Mi 11.06.03 19:42 
Titel: Ähm - verzeihung ...
Aber ich hab CC Generals gerade über meinen Jana-Proxy gespielt.
Wie alle DirectX-8 Spiele hat Generals natürlich kein Problem mit Routern/Proxys ... wenn diese richtig konfiguriert sind. Also kein Thema von schlechter Programmierung oder unflexiblen Netzwerkprotokoll - ist ganz normales DirectPlay8.

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Mi 11.06.03 20:14 
Na dann sollte das eigentlich funzen! Schau dir am besten nochmal die Konfiguration von deinem Router an. Vielleicht hast du ja irgendwo noch eine Option übersehen oder so.
GERM Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Do 12.06.03 00:01 
ne läuft nicht egal ob Server oder Client, andere Spiele laufen aber dat is ja das komische viel andere Spiele laufen ja.
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Do 12.06.03 15:22 
Welche Ports und Protokolle (TCP/UDP) benutzt Generals denn? Ich hab Generals zwar auch aber bisher noch nie online gezockt (spiele nicht so häufig). Dann kann ich das mal bei meiner Firewall testen.
MaxiTB
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: Do 12.06.03 16:42 
Eine TCP und einem UDP Port - siehe DirectPlay SDK. Ich weiß sie gerade nicht auswendig und hab auch kein Manual zur Hand, sorry. Aber es ist nicht schwierig; die Ports sind einheitlich bei allen DX-Spielen.

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.
Phobeus
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1280

Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
BeitragVerfasst: Do 12.06.03 16:47 
Routerfunktionsweise lernen, verstehen und konfigurieren...
@generals: Schaut mal inna Readme nach ... erstaunlich, was da alles drinne steht wah ;)

_________________
"Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
thePraYeR
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 27



BeitragVerfasst: Do 12.06.03 17:29 
Scheint ja 'ne ganze Menge verwirrung zu geben:

Router funktionieren immer dann nicht richtig, wenn Applikationen das OSI-Modell durchbrechen. Wird INNERHAL der Paketdaten eines Paketes die IP mitgeschickt, dann kann der Router nicht funktionieren, da er mit NAT nur die Absender-IP des Paketes ändert.

Bei jedem Router ist es möglich, Pakete einzulesen, umzubauen und weiterzuleiten. Mußt halt genau wissen, WO die IP im Paket steht und das dann ändern.
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Do 12.06.03 19:44 
Jo stimmt, in so 'ner Readme steht 'ne ganze Menge nützliches Zeug! *g* War ne gute Idee da mal rein zu sehen!
Und das OSI-Modell kann durchaus durchbrochen werden! TCP/IP ist ja auch nicht OSI konform. Aber es sollte darauf aufbauen auch wenn die Layer etwas verschoben sind.
Trotzdem verstehe ich immer noch nicht wieso dein Router da solche Probleme hat (es sei denn du hast die in der Readme erwähnte Override Option benutzt). DirectPlay Spiele funzen bei mir i.d.R. wunderbar.
thePraYeR
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 27



BeitragVerfasst: Fr 13.06.03 00:52 
Natürlich kann das OSI-Modell durchbrochen werden, dann gibts halt probleme.

Wieso ist TCP/IP nicht OSI-Konform?
MaxiTB
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: Fr 13.06.03 10:20 
Titel: Dadada ...
Also erstens:
TCP/IP ist wirklich nicht streng ISO konform ... seis drum.

Zweitens:
Einen guten (nach heutigen Maßstäben eben kein Aldi-) Router bringt man damit aber nicht aus dem Konzept. Das Problem gabs mal vor 5 Jahren - ist Geschichte.

Drittens:
DirectPlay baut strikt auf dem TCP/UDP Protokollen auf - keine drity Tricks (rede hier von 8 - bei der 5 Version wars noch ein bisserl anders, aber da gabs auch keine richtig funktionierende SOCKs-Unterstützung).

Fazit:
Jedes Spiel, daß sich ausschließlich auf DirectPlay stützt (und das sind heute alle ...) funktioniert. Mit dem Override ist das so eine Sache ... aber das ist ja auch nicht der Normalfall.

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Fr 13.06.03 12:28 
@thePraYeR: TCP/IP teilt die einzelnen Layer etwas anders auf als in der OSI-Referenz, baut aber trotzdem darauf auf.
TCP/IP hat (logisch) keine Darstellungsschicht, die Transportschicht verteilt sich auf Transport- und Kommunikationssteuerungsschicht und die Netzzugriffsschicht liegt auf der Sicherungs- und Bitübertragungsschicht.