Einem Programm eine feste TCP-Portnummer zuweisen
Hallo zusammen,
ich habe auf einem Windows Server 2008 (SP2) ein Programm (kein Dienst) installiert das Lizenzen verwaltet. Das Programm wird folgend als Lizenzmanager bezeichnet.
Konkret liest der Lizenzmanager einen USB-Dongle aus auf dem x Benutzer/Lizenzen eingetragen sind. Der Lizenzmanager "lauscht" dabei auf den UDP-Port 7777 ob ein Client-Rechner über das Netzwerk eine Lizenz abrufen möchte. Dem Lizenzmanager wird für die tatsächliche Kommunikation mit dem Client eine dynamische TCP-Portnummer zugewiesen (von Windows). D.h. nach jedem Neustart des Lizenzmanagers oder Servers erhält der Lizenzmanager einen neuen TCP-Port zugewiesen. Im Normalfall ist das kein Problem, da der UDP-Port die Anfrage des Clients an den aktuellen TCP-Port weitergibt.
Es gibt aber auch Fälle in denen diese Kommunikation nicht funktioniert (Client bekommt keine Rückmeldung - Stichwort: Zeitüberschreitung). Auf dem betroffenen Client kann dann in einer .ini Datei die aktuelle TCP-Portnummer des Lizenzmanagers eingetragen werden und die Kommunikation/der Lizenzabruf funktioniert.
Randnotiz: Auf dem Server ist keine Firewall aktiv.
Nun zu meiner Frage/Anforderung:
Gibt es in Windows eine Möglichkeit dem Lizenzmanager eine feste TCP-Portnummer zuzuweisen? D.h. ich möchte erreichen, dass der Lizenzmanager nicht mit einer dynamischen Portnummer ausgestattet wird, sondern auch nach einem Server- oder Programmneustart eine festgelegte TCP-Portnummer behält.
Im Lizenzmanager selbst habe ich keine Möglichkeit diese Einstellung vorzunehmen. Dort kann ich nur die UDP-Portnummer anpassen, was mir in meinem Fall leider nichts bringt.
Ich hoffe ich habe meine Frage verständlich formuliert und es finden sich hier Experten die mir einen entscheidenden Tipp geben können. Vielleicht gibt es sogar ein Freeware Tool mit dem man dies bewerkstelligen kann? Bei meinen Recherchen bin ich leider nicht fündig geworden.
Danke vorab an alle die sich mit dem Thema auseinandersetzen.
Viele Grüße
Thomas
ich habe auf einem Windows Server 2008 (SP2) ein Programm (kein Dienst) installiert das Lizenzen verwaltet. Das Programm wird folgend als Lizenzmanager bezeichnet.
Konkret liest der Lizenzmanager einen USB-Dongle aus auf dem x Benutzer/Lizenzen eingetragen sind. Der Lizenzmanager "lauscht" dabei auf den UDP-Port 7777 ob ein Client-Rechner über das Netzwerk eine Lizenz abrufen möchte. Dem Lizenzmanager wird für die tatsächliche Kommunikation mit dem Client eine dynamische TCP-Portnummer zugewiesen (von Windows). D.h. nach jedem Neustart des Lizenzmanagers oder Servers erhält der Lizenzmanager einen neuen TCP-Port zugewiesen. Im Normalfall ist das kein Problem, da der UDP-Port die Anfrage des Clients an den aktuellen TCP-Port weitergibt.
Es gibt aber auch Fälle in denen diese Kommunikation nicht funktioniert (Client bekommt keine Rückmeldung - Stichwort: Zeitüberschreitung). Auf dem betroffenen Client kann dann in einer .ini Datei die aktuelle TCP-Portnummer des Lizenzmanagers eingetragen werden und die Kommunikation/der Lizenzabruf funktioniert.
Randnotiz: Auf dem Server ist keine Firewall aktiv.
Nun zu meiner Frage/Anforderung:
Gibt es in Windows eine Möglichkeit dem Lizenzmanager eine feste TCP-Portnummer zuzuweisen? D.h. ich möchte erreichen, dass der Lizenzmanager nicht mit einer dynamischen Portnummer ausgestattet wird, sondern auch nach einem Server- oder Programmneustart eine festgelegte TCP-Portnummer behält.
Im Lizenzmanager selbst habe ich keine Möglichkeit diese Einstellung vorzunehmen. Dort kann ich nur die UDP-Portnummer anpassen, was mir in meinem Fall leider nichts bringt.
Ich hoffe ich habe meine Frage verständlich formuliert und es finden sich hier Experten die mir einen entscheidenden Tipp geben können. Vielleicht gibt es sogar ein Freeware Tool mit dem man dies bewerkstelligen kann? Bei meinen Recherchen bin ich leider nicht fündig geworden.
Danke vorab an alle die sich mit dem Thema auseinandersetzen.
Viele Grüße
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 299478
Url: https://administrator.de/forum/einem-programm-eine-feste-tcp-portnummer-zuweisen-299478.html
Ausgedruckt am: 29.04.2025 um 04:04 Uhr
5 Kommentare
Neuester Kommentar
Jein,
denn das hängt ab von der Programmierung. Wenn das Programm programmiert ist, einen Zufallsport anzufordern, wird dies auch weiterhin passieren.
Das sowohl Sende- als auch Empfangsports statisch sind, kenne ich eigentlich nicht (muss auch nichts heißen).
Feste Empfangsports ist eher normal. Das erlaubt, dass die oberen Ports nicht auch noch fest zugewiesen sind.
denn das hängt ab von der Programmierung. Wenn das Programm programmiert ist, einen Zufallsport anzufordern, wird dies auch weiterhin passieren.
Das sowohl Sende- als auch Empfangsports statisch sind, kenne ich eigentlich nicht (muss auch nichts heißen).
Feste Empfangsports ist eher normal. Das erlaubt, dass die oberen Ports nicht auch noch fest zugewiesen sind.
Hallo,
Immer dieses scheint. Das ist raterei im Akkord aber keine fehlersuche... Orakeln sagt man auch....
Gruß,
Peter
Immer dieses scheint. Das ist raterei im Akkord aber keine fehlersuche... Orakeln sagt man auch....
der eine Client sich in einem anderen Subnetz befindet
Kann derLizenzmangetr denn mit anderen netzen umgehen?und deshalb nicht über den Port 7777 kommunizieren kann
Warum sollte das über Netze hinweg nicht gehen? Das Internet beweist es doch täglich das es geht? Nennt sich Routing.sondern direkt auf den TCP-Port gehen müsste (so hat es mir der Netzwerktechniker des Kunden mitgeteilt).
Ich frage mich hier was denn der Hersteller dazu zu sagen hat, der sollte es Wissen ohne zu Orakeln... Ansonsten hilft ein Wireshark ungemein um dies in 3 Minuten zur gewissheit zu machen ohne Orakeln zu müssen.Gruß,
Peter
Hallo,
Gruß,
Peter
Zitat von @rince1984:
Meine Frage hier war ja nur ob es möglich ist einem Programm unter Windows eine feste TCP-Portnummer zuzuweisen.
Ja, sofern der Programmierer diese Option vorgesehen hat. Steht im Quellcode des Programms wie der Empfang aber auch wie das Senden von Informationen geschehen soll.Meine Frage hier war ja nur ob es möglich ist einem Programm unter Windows eine feste TCP-Portnummer zuzuweisen.
(vor allem, da es diesen Hersteller so nicht mehr gibt)
Deutet darauf hin das jemand anders es weiter geführt hat, oder?zum Lizenzmanager besagt, dass eine Kommunikation durch Router und Firewalls nicht funktioniert
Deshalb mein rat zum Wireshark, den älteren Network Monitor oder den aktuellen Microsoft Network Analyzer nutzen, schau was auf den Kabel passiert. Anders wirst du es wohl nicht herausbekommen.Tatsächlich funktioniert die Kommunikation bei vielen Kunden trotz Firewall und Router
Deine Kunden oder woher willst du es wissen?In diesem speziellen Fall handelt es sich aber um ein standortübergreifendes Intranet mit einer Citrix-Umgebung.
Und was ist daran besonderes? Hat doch VPN Standort - Standort Verbindungen, oder? Routing ist hier dein Stichwort.Testzwecke TCPView von MS Technet installiert um die aktuellen Ports anzeigen zu lassen.
Ein NetStat -ano hilft da schon ohne Zusatzsoftware. (CMD Fenster)Ich hatte gehofft, dass es eine Option gibt
das hängt von deiner Software ab und was der Programmierer dort vorgesehen hat. Da du sowieso im Blinden rum rätst, würde es dir nichts nützen. Du musst schon wissen wie dein Lizenzmanager arbeitet. Erst wenn du die Ports kennst kannst du auch Ports umleiten bzw. weiterleiten.Ansonsten ist es nicht meine Aufgabe dieses Problem für den Kunden zu lösen. Es hat mich vor allem selbst interessiert was für Möglichkeiten ich hier habe. Und wenn ich dem Kunden einen entscheidenden Tipp geben kann ist es umso besser.
HmmmmGruß,
Peter