BlitzMAX P2P - Firewall Hole Punching [FAIL!!]
Übersicht

![]() |
hazumu-kunBetreff: BlitzMAX P2P - Firewall Hole Punching [FAIL!!] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich suche schon längere Zeit nach einer Lösung um mit BlitzMAX echtes P2P (Client <-> Client) zu realisieren.
Das Protokoll ist relativ egal (TCP/UDP). Wenn jemand ein Modul kennt oder über WinAPI ne Möglichkeit kennt, immer her damit. Hinweis: Diese Methode sollte auf Win32 funktionieren und muss nicht multiplattform sein. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
- Zuletzt bearbeitet von hazumu-kun am Di, Aug 11, 2009 8:17, insgesamt 2-mal bearbeitet
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry das ich keine richtige antwort schreiben kann, doch falsches forum. | ||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wirst du nicht hinbekommen... habe das lang und breit versucht. Die Router sind dafür einfach nicht ausgelegt: Egal welchen port du nehmen wirst der Router wird ihn verändern... | ||
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
sry, falsche Forum, bitte verschieben... -.-
@ Silver Knee Hole Punching geht mit den meisten routern wunderbar. müsste nur ne Möglichkeit finden das in Blitz zu implementieren. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sprich mal Timbo an.. der hat ne variante für BB geschrieben... das lief auch mit seinem router nur nicht mit meinem... der speedport verwirbelt.. | ||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hole Punching. Also einfach einen Port auf einem Router freimachen?
Ist doch leicht. Du sendest von einem PC über das Internet von Port 8000 nach 8000. daraufhin erwartet die Firewall eine Rückmeldung und der Port bleibt offen. Natürlich MUSS dafür der Port des anderen Geöffnet werden. Das kann bei P2P Sachen ziemlich schwer werden. Außer du startest beim Start des Programms immer einen Broadcast, der Pakete zu allen IPs im Lan schickt, ect. Damit werden die Ports dann auch geöffnet. |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Timbos idee war ich schick dir 8000-8000 egal obs ankommt oder net
und der andere zurück 8000-8000 das geht halt nur solange, wie ein router auf 8000 durchlässt oder generell keine ports verwirbelt. |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Skype und konsorten beweisen, dass Hole-Punching mit ein wenig mehr aufwand tadellos jede firewall überlistet. | ||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
also icq weiß ich von Wireshark geht über icq.com
evtl mit fehlerhaften paketen alla absender falsch könnte ich mir vorstellen... dann aber auch nur udp |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Silver_Knee hat Folgendes geschrieben: Timbos idee war ich schick dir 8000-8000 egal obs ankommt oder net
und der andere zurück 8000-8000 das geht halt nur solange, wie ein router auf 8000 durchlässt oder generell keine ports verwirbelt. Ehm, das einziege was man wissen muss ist, dass ein Port eine Zeitlang einer IP freigegeben wird, wenn man an diese IP eine Nachricht auf diesem Port sendet. Also wenn die IP der Programme bekannt ist, müssen sie sich nur mehrmals gegenseitig etwas schicken. Das ist dann z.B. so: Zitat: PC1 schickt PC2 = PC1 Firewall wartet auf Antwort, PC2 Firewall blockt
PC2 schickt PC1 = PC2 Firewall wartet auf Antwort, PC1 empfängt Daten PC1 schickt PC2 = PC2 empfängt Daten Ist das einmal hergerichtet, ist der Rest auch kein Problem mehr ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt router, die den inneren port und den äusseren port veränder. Wenn du auf deinem PC also von port 8000 ein Paket schickst, heisst das noch lange nicht, dass der router es auch auf port 8000 nach draußen schickt.
Machen tut das auch jeder router, wenn 2 oder mehr PCs im netzwerk auf port 8000 nach draußen senden wollen. |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich habe einen Code auf der Platte, der mit UDP funktioniert. Der Port ist nicht nur 8000-8000 es ist eign. wayne welcher es ist. Teste mit Cyderic haben Funktioniert Teste mit Silver_Knee nicht. Ich weiß bis heute nicht was falsch gelaufen ist. Edit: es wurde auch so erweitert, dass UDP Pakete sicher gesendet werden. Da UDP ja bekanntlicherweise unsicher ist. Da ich damals auf sichere Pakete angewiesen war. Edit2: Hab den verstaubten Code gefunden. Also wenn jemand testen will, gerne ![]() Edit 3 Zitat: Zitat:
PC1 schickt PC2 = PC1 Firewall wartet auf Antwort, PC2 Firewall blockt PC2 schickt PC1 = PC2 Firewall wartet auf Antwort, PC1 empfängt Daten PC1 schickt PC2 = PC2 empfängt Daten geht halt nur mit UDP, da bei TCP tatsächlich Streams da sind, bei UDP nicht ;D Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
- Zuletzt bearbeitet von TimBo am So, Aug 02, 2009 21:58, insgesamt einmal bearbeitet
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmn.
Also ich denke nicht das das so funktionieren würde. Wenn ich einen lokalen server erstelle wird der nach draußen generell abgeschirmt, solange ich keinen port öffne. Client anwendungen sind aber auf allen Ports freigegeben. Directplay funktioniert ja auf die Weise wie ich das gerne hätte. nur halt zuuu langsam (brauche genug kbyte/s um desktop-shots mit 10 fps durch die firewall zu punchen.). |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Wenn ich einen lokalen server erstelle wird der nach draußen generell abgeschirmt, solange ich keinen port öffne.
raus kommt man doch normal immer. Wäre ja echt krass wenn das nicht geht. Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Proble3m ist das der Server an sich net rauszukommen hat.
Die Clienten wollen ja zu dem rein. und genau da blockiert unser Router. Und jetz sagt nicht "Gib einfach en Port frei" Meine Mutter weigert sich strikt die Ports zu öffnen. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
ajo dann ists ja n versuch wert.
wenn dein programm so n router ist, der das kann, dann wirds wohl funktionieren. oder schau dir mal upnp ^^ damit kannste vll. dein router ohne mutter dazu bringen die ports zu öffnen. Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Timbo
lol deine Mutti hat das Sagen über den Router? ![]() ne spass bei seite,wäre an der Lösung interessiert wenn sie funktioniert, d.h bitte postet was wenns funkt ![]() mfg ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
meine ned
da war mal für 5 min ein FW-PW drin. Da ich alle Passwörter (internetzugang , VOIP etc) auswendig gelernt habe , habe ich den Router resetet und ups ein Passwort eingegeben *psss* ![]() Schon so kriminell mit 16 ![]() Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also die Lösung mit Router resetten ist nicht mein Ziel.
Ich will mit BlitzMax oder BlitzBasic letzendlich ein echtes P2P hinrichten (xD). Eventuelle Dll's wären egal ich nehm jede Möglichkeit gerne in meinen Weg zum Ziel auf. Geht da vielleicht was über WinApi was schnell genug is Screenshots mit 10fps durch den Router zu punchen? |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: geht halt nur mit UDP, da bei TCP tatsächlich Streams da sind, bei UDP nicht ;D
Naja, streams. TcP stellt nur sicher, dass die Verbindung auch da ist, dazu werden einfach noch ein paar andere Daten versendet. Theoretisch müsste es genauso funktionieren. Na, ich weiß shcon, warum ich in meinen Projekten immer UDP verwende. Es ist schneller, mit 10 Minuten mehr programmieren fast genau so "sicher" und viel einfacher ![]() Zitat: Es gibt router, die den inneren port und den äusseren port veränder. Wenn du auf deinem PC also von port 8000 ein Paket schickst, heisst das noch lange nicht, dass der router es auch auf port 8000 nach draußen schickt.
Machen tut das auch jeder router, wenn 2 oder mehr PCs im netzwerk auf port 8000 nach draußen senden wollen. Dann könnte man ja einen Port-Broadcast starten, und an 10k Ports senden. Einer ist sicherlich dabei, bei dem die Nachricht ankommt, und daher kann man dann sehen, zu welchem Port man senden muss, damit beim andern die Nachricht auch ankommt. Ein Port, der einmal festgelegt ist, ändert sich schließlich nichtmehr, oder? Theoretisch müsste das funktionieren oder lieg ich da falsch? ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group