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-lochtrick

    Gleiches 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


Anmelden zum Antworten