Suche nach TCP-Ports, die von der Anwendung verwendet werden

8

Okay, ich erweitere den Flexlm-Vendor-Daemon meines Unternehmens, damit er für Client-Anwendungen ein wenig aufschlussreicher ist.

Ich muss herausfinden können, welchen Port lmgrd überwacht, bevor Clients eine Verbindung herstellen. Die API-Dokumentation scheint eher unfruchtbar zu sein, und ich glaube, dass sie den Großteil ihres Codes in einer kompilierten Form behalten, so dass ich nicht einfach auf ihre Quelle schauen kann.

Ist es möglich, die beeindruckende Leistung der Windows-API aufzurufen, um herauszufinden, welche Ports ein bestimmter Prozess verwendet? Wenn Process Explorer von Sysinternals es tun kann, sollte ich in der Lage sein, richtig? Hat jemand dafür Beispielcode?

Es muss Windows XP und höher unterstützen, da viele unserer Kunden noch nicht aktualisiert haben.

Bearbeiten: Ich sollte beachten, dass es FLEX unterstützt, den Port aus der Lizenzdatei zu ziehen. Ich habe den Code nicht vor mir, aber wissen Sie, dass dies nicht der beste Weg ist, herauszufinden, welche Ports Ihr Vendor-Daemon / lmgrd ausführt.

    
RandomInsano 27.06.2011, 22:49
quelle

3 Antworten

7

GetTcpTable2 - siehe EDIT

Ссылка

Die GetTcpTable-Funktion ruft die IPv4-TCP-Verbindungstabelle ab.

Dies wird eine MIB_TCPTABLE-Struktur ausfüllen.

%Vor%

Und jetzt die MIB_TCPROW

%Vor%

EDIT WICHTIG :

Sie müssen GetTcpTable2 verwenden, um auch die entsprechende PID zu erhalten.

%Vor%

dwOwningPid

    
flumpb 27.06.2011, 22:56
quelle
4

Hier ist der Code, mit dem ich endete, für jeden, der dieses Problem nach mir hat

%Vor%     
RandomInsano 05.07.2011 18:50
quelle
3

Im schlimmsten Fall könnten Sie immer die Ausgabe von:

parsen %Vor%     
spender 27.06.2011 22:53
quelle

Tags und Links