Internet socket Frage!
-
Hallo,
ich habe da gerade ein Programm, welches einfach mit CAsync Socket ein paar Daten
über UDP zu einem anderen Rechner rüberschickt. Ich denke mal das dieses Problem
mehr was mit socket Verständniss zu tun hat, desshalb poste ich hier.Ich habe eine FritzBox und dahinter 2 Rechner. Auf beiden Rechnern lasse ich nun
die online IP der Fritz Box im Inet ermitteln und schicke von Rechner1 an die online IP von Rechner2 das UDP Packet. (IP's sind gleich, Port 4451)
Dieses kommt nicht an Rechner 2 an.
Ich hätte nun vermutet, das das Packet über das Gateway der Fritzbox hinausgeht und dann an beiden Rechnern wieder ankommt und dabei das Internet benutzt.
Jedoch kommt gar nix mehr an.Nachdem Spiele, ICQ Dateitransfere und die anderen Programme das können:
Wie machen die das? Muss ich der Fritzbox noch was sagen?Direkte interne LAN Kommunikation funktioniert natürlich tadellos.
Die Fritzbox Ports 4451 sind in der FW geöffnet.Grüße
TheNoName
-
Hallo,
Port 4451 wird an Rechner 2 weitergeleitet? Dann sollte das gehen.
An beiden Rechnern kann nichts ankommen, da die Firewall nicht wissen kann, an wen der beiden Rechner Port 4451 geforwardet werden soll.
Edit: Lese gerade, dass beide Rechner dieselbe IP haben? Das kann nicht gehen, bzw. der erste passende Eintrag im arp-Cache des Router gewinnt
ICQ-Dateitransfers etc. gehen über einen dritten Verbindungsserver, d.h.
beide Clients melden sich am Verbindungsserver an, der die weitere Kommunikation übernimmt und somit auch über Firewallgrenzen hinweg kommt. Die meisten Homefirewalls lassen alle Outgoing-Pakete raus ...Gruss
foodax
-
mein Gott, was sind Router doch unsinnig beschrieben
Man muss hier die virtuellen Server verwenden !
-
So mal eine Frage, wenn man Port 80 verwenden würde, dann wäre alles offen ?
-
thenoname schrieb:
So mal eine Frage, wenn man Port 80 verwenden würde, dann wäre alles offen ?
Nein, hat mit Port 80 nichts zu tun.
In der Regel, zumindest im privaten Bereich, sind die Router so eingerichtet, dass von innen nach außen alles offen ist und von außen nach innen alles dicht.
Die Tatsache dass Du surfen kannst heißt nur, dass der Router die ClientIP maskiert, sprich er merkt sich die intern anfragende IP und gib die Antwort des Webserver wieder dahin zurück.
Edit: Da Dein Programm nun funktioniert liegt wahrscheinlich daran, dass das Paket nie Deinen Router verläßt, denn mit der beschriebenen Konstellation kann das nicht funktionieren. Virtuelle Server sind meistens nur vorgefertigte Forwardingregeln, wie z.B. FTP-Server, HTTP-Server. Dort werden dann nur die Ports vorgegeben.
Gruss
foodax
-
d.h. ICQ arbeitet über deren Server? Kontakt nur von innen nach aussen?
-
thenoname schrieb:
d.h. ICQ arbeitet über deren Server? Kontakt nur von innen nach aussen?
Ja.
Gruss
foodax
-
Und was haltet man hiervon?
http://www.danek-it.de/tipps-und-infos/der-lochtrick
Kurzfassung unter Vermittlung
-
thenoname schrieb:
Und was haltet man hiervon?
http://www.danek-it.de/tipps-und-infos/der-lochtrickGleiches Prinzip, man benötigt einen dritten Server. Hole Punshing ist die Möglichkeit einer direkten Kommunikation der Clients, als hätte man eine wechselseitige Client-Server Verbindung.
Gruss
foodax