UPnP Dll / Automatische Portfreigabe

    • Dll

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • UPnP Dll / Automatische Portfreigabe

      Hi Leute!

      Auf der GMC habe ich eine DLL gefunden, die UPnP für den GM bereitstellen soll. Der Macher hatte allerdings keine Möglichkeit, die dll zu testen, und nach einigem herumcoden und anpassen der Source Files, funktioniert die DLL nun so, wie sie soll.
      Die DLL ist dazu gedacht, den Umgang mit Portfreigaben in Netzwerkspielen zu vereinfachen. Sitzt man hinter einem Router undist dieser UPnP-fähig, erlaubt es die DLL Ports automatisch weiterzuleiten und somit Verbinungen über das Internet zu erlauben.

      Funktionen

      UPnP_init(debug)
      Lädt die DLL im Debugging (true) oder im stillen Modus (false) und gibt bei UPnP Unterstützung true zurück

      UPnP_free()
      Gibt Ressourcen frei

      UPnP_port_forward(protokoll, port, beschreibung)
      protokoll ...... "TCP" oder "UDP"
      port ........... der weiterzuleitende Port
      beschreibung ... Beschreibung, die in manchen Routern unter den Freigaben angezeigt wird
      Trägt eine Portweiterleitung für das angegebene Protokoll und den agegebenen Port ein


      UPnP_port_remove(protokoll, port)
      protokoll ...... "TCP" oder "UDP"
      port ........... der nicht mehr weiterzuleitende Port
      Entfernt eine Portweiterleitung für das angegebene Protokoll und den agegebenen Port


      Download

      Direktlink von meiner Homepage

      Getestet unter Win7 mit einem UPnP-fähigen Router, sollte ab WinXP funktionieren.

      © 2008 by Teamgrill Productions

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MasterXY ()

    • Sehr interesant!

      Beim ersten Starten der Text-Datei hat wie üblich die F-Secure Firewall Alarm geschlagen. Nachdem ich die Verbindung erlaubt habe, kamm erstmal die message mit "0" und beim Beenden des Programms kam leider ein adress-violation error!
      Beim zweiten Versuch wo die Firewall die Datei bereits kannte und nicht unterbrach, hat's aber perfekt funktioniert! (zumindest wurde true zurück gegeben).

      Wäre aber schön wenn die DLL nicht von der Firewall verwirrt werden würde.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • DragonGamer schrieb:

      Wäre aber schön wenn die DLL nicht von der Firewall verwirrt werden würde.
      Ich bin mir nicht sicher, ob das lösbar ist. Grundsätzlich werden alle resourcen in der DLL vor dem Barbeiten/Freigeben überprüft, möglicherweise hat die Firewall da irgendwie eingegriffen. Falls du im Debugging Modus getestet hast, kannst du ja mal die Log anhängen.

      © 2008 by Teamgrill Productions
    • Die DLL scheint eine art Time-Out zu haben.
      Im gegensatz zu der Http Dll zum Beispiel. Bei der blockiert das Spiel wenn ich mich nicht irre, solange bis die Firewall es zulässt (bzw. returnt erst dann einen Fehlschlag wenn durch die Firewall manuell eine Verbindung abgelehnt wurde).

      Bei dieser DLL kommt die "0" Message noch während die Firewall-Meldung nicht beendet wurde.
      Übrigens ist der Adress-Violation error ebenfalls reproduzierbar...

      Hier der Log:

      23-12-12 20:06:59.96 GetLocalIP( ... )
      23-12-12 20:06:59.00 gethostname succeeded
      23-12-12 20:06:59.02 gethostbyname succeeded
      23-12-12 20:06:59.02 IP BLABLA
      23-12-12 20:06:59.02 Host ip setup successfully
      23-12-12 20:06:59.02 InitializeUpnpnat( ... )
      23-12-12 20:06:59.02 CoInitialize succeeded
      23-12-12 20:06:59.04 CoCreateInstance succeeded
      23-12-12 20:06:59.04 The UPnPNAT interface is valid
      23-12-12 20:07:04.55 get_StaticPortMappingCollection succeeded
      23-12-12 20:07:04.55 ... but the collection is null. The Universal Plug and Play Device Host and/or the SSDP Discovery service(s) may be disabled. You may also need to restart your computer.
      23-12-12 20:07:12.75 ForwardPort( ... )
      23-12-12 20:07:12.76 Collection is invalid
      23-12-12 20:07:13.34 RemovePort( ... )

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • Ich wüsste jetzt nichts davon, dass die Firewall eine DLL anhält bzw. pausiert. Die Log sieht auch normal aus, dafür, dass eben die UPnP Unterstützung nicht funktioniert.

      © 2008 by Teamgrill Productions
    • MasterXY schrieb:

      Ich wüsste jetzt nichts davon, dass die Firewall eine DLL anhält bzw. pausiert.

      F-Secure macht das definitiv bei der http-Dll von Bl@ckSp@rk.

      Wird ein Verbindungsaufbau versucht dann bleibt das Spiel solange an der Funktion hängen bis die Meldung der Firewall weggeklickt wurde (egal ob erlaubt oder gesperrt wurde).
      Bei dieser DLL hängt es nur für 2-3 Sekunden und amcht dann weiter. In einem Spiel würde das Bedeuten dass man in dem Fall das Spiel neu starten muss um diese DLL zu verwenden.

      Die Log sieht auch normal aus, dafür, dass eben die UPnP Unterstützung nicht funktioniert.
      Es tut aber funktionieren. Und zwar sowohl wenn man die Firewall-Meldung schnell genug weg klickt (in diesen ersten 2 Sekudnen) als auch von da an jedes mal wenn das Programm bereits ind er Datenbank der Firewall ist und somit nicht mehr blockiert wird.

      Egal.. Wenn ich dies benutze werd ich einfach einen Verbindungs-aufbau per http Dll vorschalten damit gesichert ist dass der User die Meldung einer Firewall bestätigt hat.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)