Laden...

TCP Verbindung aufbauen in anderes Netzwerk ohne Portfreigabe

Erstellt von dev.pr vor 6 Jahren Letzter Beitrag vor 5 Jahren 4.413 Views
D
dev.pr Themenstarter:in
22 Beiträge seit 2017
vor 6 Jahren
TCP Verbindung aufbauen in anderes Netzwerk ohne Portfreigabe

Hallo Leute,
Ich habe eine Frage.

Ich habe mir ein kleinen TCP-Server programmiert der permanent auf meinen Rechner im Hintergrund läuft, wenn sich jemand auf dieses Programm verbindet auf einen Port den ich vorher festlege, fährt sich mein PC automatisch runter. Soll dafür dienen das ich quasi wenn ich im Wohnzimmer sitze mein Pc ausschalten kann mit meinen Laptop, dass funktioniert auch alles super. Jedoch ist nun meine Frage, wenn ich nicht im selben Netzwerk bin, klappt es denn immer noch? Habe leider nicht die Möglichkeit es zu testen da wir nur ein Netzwerk haben. Falls es klappt, klappt es bei allen Ports oder nur bei bestimmten?

Grüße

Never trust a running system.

Youtube

1.029 Beiträge seit 2010
vor 6 Jahren

Hi,

nein - das klappt so nicht - und das ist auch gut so 😉

Das Thema ist: Bist du nicht in deinem Netzwerk - musst du von außen kommen. Von außen heißt: Du musst über die Internet-IP über deinen Router.

Dieser wird:
a) keine Ahnung haben wohin mit dem TCP-Paket
b) das Paket ohenhin ablehnen

Ergo: Port-Freigabe am Router erforderlich - das lässt sich allerdings auch programmgesteuert per Upnp realisieren, sofern das Router das unterstützt und erlaubt.

Habe selbst was ähnliches im Einsatz gehabt - das ist allerdings eine entsprechend geschützte API gewesen - da könnte ja sonst jeder kommen 😉

LG

D
dev.pr Themenstarter:in
22 Beiträge seit 2017
vor 6 Jahren

Hey vielen dank für die schnelle Antwort! 😃
Ja ich habe es auch noch ein wenig geschützt, also wenn ein paket reinkommt dort ist ein md5 hash enthalten, den muss man beim absenden eingeben, und nur wenn das der gleiche ist so wie ich ihn auf mein Zielrechner eingerichtet habe klappt es.

Das mit Upnp klingt interessant, lese ich mir mal durch danke!

Never trust a running system.

Youtube

T
2.224 Beiträge seit 2008
vor 6 Jahren

Bei upnp solltest du dir nur im klaren sein, dass dann jede Anwendung einen Port im Router öffnen kann, wenn der Router upnp aktiviert.
Entsprechend könnte jede beliebige Anwendung einen Port öffnen, ohne dass du dies willst.
Wenn du den Port deines Tools kennst, öffne ihn lieber selbst im Router.

Hab ich bei mir zu Hause auch so gemacht.
Ich weiß welche Ports ich im Router offen brauche und nur diese öffne ich.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

D
dev.pr Themenstarter:in
22 Beiträge seit 2017
vor 6 Jahren

Okey, weiß ich bescheid, damit hat sich mein Anliegen denn auch erledigt, vielen dank!

Habe nichts passendes gefunden deswegen habe ich ein Post geöffnet, und schnell eine Antwort bekommen, vielen dank nochmal!

Never trust a running system.

Youtube

D
dev.pr Themenstarter:in
22 Beiträge seit 2017
vor 6 Jahren

Hallo, eine Frage hab ich dennoch, ist mir gestern Abend beim nachdenken eingefallen,

wie kommunizieren Spiele und co. ohne eine Portfreigabe zu haben? oder als Beispiel die Seite "Omegle", hat eine direkte Router zu Router verbindung mit dem Gegenüber, dort muss ja dann auch ein offener Port sein oder? Könnte man den nicht einfach nutzen?

Never trust a running system.

Youtube

16.841 Beiträge seit 2008
vor 6 Jahren

Spiele basieren nicht auf TCP sondern auf UDP und verwenden UDP hole punching
Bei Spielen stört es nicht, wenn mal ein Paket fehlt; daher tut UDP nicht weh.

D
dev.pr Themenstarter:in
22 Beiträge seit 2017
vor 6 Jahren

Heißt wenn ich mein Programm nun auf UDP umprogrammiere, bräuchte ich keine Portfreigabe wenn ich den Beitrag richtig verstanden habe?

Never trust a running system.

Youtube

16.841 Beiträge seit 2008
vor 6 Jahren

Hast Du es Dir durchgelesen und auch angeschaut, wie es funktioniert?
Nein? Dann tu das erst mal und überlege Dir dann, ob Du das wirklich so tun willst bzw. überhaupt kannst.

Denn "mal kurz" auf UDP umstellen reicht nicht.
Steht auch im Wiki Eintrag.

1.029 Beiträge seit 2010
vor 6 Jahren

Kurz gesagt - wenn du dir dafür wirklich so viel Arbeit machen möchtest (nicht trivial) und zudem auch noch einen externen Server (mit freiem Port^^) bereitstellst - dann könntest du das so machen.

Anders formuliert: Geht so - passt aber sicher nicht zu deinen Anforderungen.

LG

D
dev.pr Themenstarter:in
22 Beiträge seit 2017
vor 6 Jahren

Okey, ja also ist relativ kompliziert, habe auch erst ein c# projekt gefunden wo sowas probiert wurde aber das ist meiner Meinung nach kein UDP hole punching.

Hier mal zum nachlesen: https://www.fluxbytes.com/csharp/udp-hole-punching-implementation-in-c/

vielleicht interpretiere ich es auch falsch 😄.

Hatte vor das Programm später vielleicht mal öffentlich zu machen, dann würde sich der Aufwand schon lohnen. Hätte jemand von euch lust das mit mir zusammen zu machen?

Never trust a running system.

Youtube

1.029 Beiträge seit 2010
vor 6 Jahren

Hi,

da steht klar und deutlich "UDP hole punching" drüber. (Passiert darin auch)

Was du aber überlesen hast:
Du brauchst um das verwenden zu können einen Internet-Server mit offenem Port.
(Quasi das was du nicht willst - nur mit Extrakosten)

Was die Veröffentlichung der Software angeht:
Kannst du zwar machen - aber es gibt bereits so viel Software und fertige Apps die das können, dass es wenig sinnvoll erscheint - ähnlich wird es vermutlich bei der Mitarbeit aussehen...

LG

6 Beiträge seit 2015
vor 6 Jahren

Das Thema ist zwar schon etwas älter, aber ich möchte hier aus Gründen der IT-Sicherheit meinen Senf dazugeben. Jede Art von Portfreigaben zu deinem Netzwerk, die es ermöglichen von außen, sprich von der gesamten Welt aus, auf deine Computer zuzugreifen, sollte dringentst vermieden werden. Sowas kann man machen, wenn man einen eigenen, möglichst vom restlichen Netzwerk getrennten Webserver hat, den man öffentlich verfügbar machen möchte.

Das, was du brauchst ist keine Portfreigabe an deinem Router. Und schon gar kein UDP-Protokoll. Das Zauberwort heißt "VPN". -> Virtual Private Network

D
dev.pr Themenstarter:in
22 Beiträge seit 2017
vor 5 Jahren

Danke!

Never trust a running system.

Youtube