Die Portfrage

  • Hallo zusammen,

    Nachdem das wetter jetzt nicht mehr soooo gut ist, hab ich den Weg vor mein PC gefunden und hab mich wieder an meinen IM gesetzt. Ich probiere grad TCP aus und es stellt sch die Frage, welchen Port ich benutzt. Ich will einen Port haben, den man nicht mehr freischalten muss. Skype und ICQ machen das ja... aber wie? OK, so gut bin ich sicher net und das werd ich mit AutoIT bestimmt nicht schaffen, aber gibts da nicht irgendeinen Trick oder einen Port, den ich benutzten könnte ?

    Kurz zum Prinzip: Client sendet Daten an einen Server (da müsste der Port ja eigentlich ja egal sein), leitet diese Daten dann an einen zweiten CLient weiter(hier is der Port dann entscheidend).


    Danke im vorraus!

    Gruß,
    Chris

    • Offizieller Beitrag

    Hallo chris!

    Also: wenn du TCP/IP übers netzwek machst (also intern) dann sollte es eigentlich kein problem sein! Dann müsste man nur gucken das keine interne firewall aktiviert ist bzw das programm zugriff nach aussen hat!

    Wenn du TCP/IP übers inet machen willst (also extern) von z.b. meinem rechner zu deinem, dann musst du das in dem Router einstellen, der connected! wir haben das auch schon mal diskutiert... musst du mal gucken iwas mit "TCP über internet" oder so!

    Mfg Spider

    • Offizieller Beitrag

    Hallo!

    In der aktuellen Ausgabe der c't (https://autoit.de/www.ctmagazin.de) ist genau das beschrieben. Es wird geschildert, wie Skype es erreicht, dass man "rauskommt" und es woanders auch "ankommt", beides trotz NAT und Firewall.
    Allerdings habe ich es nicht mehr genau im Kopf, aber es dürfte mit AutoIt eher nicht gehen...
    Dürfte nicht das Problem sein, den Port freischalten zu lassen, oder?

    Wegen der Portnummer musst du nur darauf achten, keine zu erwischen, die schon besertzt ist. Das ist besonders bei den kleinen Nummern der Fall (21 FTP, 80 HTTP, ...). Daher solltest du eine größere Nummer nehmen und ein bisschen recherchieren, ob die sonst noch jemand nutzt. Maximalwert ist 2^16 (-1?), also 65535.

    Die Verbindung über den Server laufen zu lassen, halte ich nicht für eine gute Idee, da das viel unnötigen Traffic verursacht und auch für den User nicht transparent ist. Lieber sollte der zentrale Server nur die Verwaltung der IPs der Clients verwalten, mit deren Hilfe sich dann recht einfach eine Direktverbindung aufbauen lassen sollte.
    Es kann sein, dass du für jede Verbindung - also jeden Chatpartner - einen eigenen Port belegen musst, das musst du mal untersuchen, habe ich gerade nicht im Kopf.

    peethebee

  • @ Spider: ja, danke! das weiß ich auch :)

    @ peetheebee: hey, danke für den Tipp. Das hatte ich nicht bedacht. Ich werd mal schaun, wie ich das meistere :) Aber wie heißt es so schön... Kommt Zeit kommt Rat. Ist bei mir immer so. Vielen Dank nochmal!

    Ich will ja gerade verhindern, dass die Leute den Port nicht freigeben müssen, da die User alle JUgendliche sind und das mit den Port freigeben wohl eher schwierig wird... aber wenns nicht anders geht, müssen deren Daddy's das halt machen ^^ Sorry für diese Bemerkung =]

  • Hosa

    Skype macht das bei Firewalls über udp oder alternative über den Tcp Port 80 443. Firewall - tunneling

    Und Skype klopft alle Ports ab und schaut wo was geht.

    Ich nehme mal an das du dann einen Portscanner der bestimmte Scannmethoden beherschen benutzen mußt.

    Hier mal einige Scanntypen http://de.wikipedia.org/wiki/Portscanner

    Wenn du mehr über Firewalls wissen willst oreilly Openbook
    "Linux Firewall, 2. Auflage"
    http://www.oreilly.de/online-books/

    hoffe das hilft ein wenig

  • Irgendwie verstehe ich die Anforderung nicht ganz.
    Du hast mehrere User die sich mit deinem Server verbinden sollen, richtig ?
    Die Ports ab 1025 sollten eigentlich frei sein.
    Die Frage ist doch aber, ob du TCP oder UDP brauchst.
    Bei TCP muesste der Client die Verbindung aufbauen, dann kannst du auch an den meisten Firewalls vorbei.
    Allerdings muss der Zielport auf dem Server offen sein.
    Willst du denn sowas komplexes wie Skype machen, oder nur eine
    Datenverbindung aufbauen ?