AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Port nicht erzeugt

Ein Thema von TurboMagic · begonnen am 6. Jun 2024 · letzter Beitrag vom 12. Jun 2024
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.871 Beiträge
 
Delphi 12 Athens
 
#1

Port nicht erzeugt

  Alt 6. Jun 2024, 16:31
Hallo,

eine Anwendung von mir ermöglicht es optional per DataSnap (das ist es glaube ich) eine externe Anwendung anzubinden.
Den zu benutzenden Port kann man konfigurieren.

Bei einem Kunden scheint es aber den Port nicht zu erzeugen, auch nicht, wenn ich eine andere Nummer wähle.
Netstat -p TCP zeigt beide getestete Ports nicht an. Andere von der Anwendung erzeugte (nicht DataSnap)
Ports zeigt Netstat als "Established" an, wie es sein soll.

Windows Firewall ist aus (alles rot in den EInstellungen), Firewall Service davon läuft aber noch und kann
ich nicht stoppen, obwohl der Kunde angeblich als Administrator angemeldet ist. Lt. Kunde nutzt er auch nur
die Windows Firewall.

Schaue ich mit ipconfig /all nach bekomme ich einen verbundenen Ethernet Adapter, einen nicht verbundenen
W-Lan Adapter, 2 VM Ware virtual Adapter und noch irgendwas das nicht verbunden ist.

Naja, nicht ganz einfach, da es ein spanisches Windows ist und ich kein Spanisch kann

Aber: was könnte sonst noch das Erzeugen eines Server Ports verhindern?
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
747 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Port nicht erzeugt

  Alt 6. Jun 2024, 17:22
Windows Firewall Log geprüft?
Hast du Zugriff auf den Code beim Listen-Schritt? Wird evt. der Socket an einen "falschen" Adapter gebunden?
Nebenbei: Wenn netstat viele Verbindungen anzeigt, dann übersieht man ab und zu einen Eintrag. netstat -aon | findstr /r :<portnummer> (also nicht nach Protokoll sondern Port filtern).
Michael Gasser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.331 Beiträge
 
Delphi 12 Athens
 
#3

AW: Port nicht erzeugt

  Alt 6. Jun 2024, 17:30
Wenn nichts explizit vorgegeben ist, bindet es sich eigentlich an alle aktiven Adapter.

Das Problem kennen wir noch nicht.
Sollte der Port bereits belegt sein, dann gibt es im Programm normal eine Exception und der Server Service/Dienst raucht ab.


Ja, Firewall, Defender und Anderes läuft mit noch höheren Rechten ... die kann absichtlich normal nichtmal ein Admin abschießen.
Und bei einigen System-Diensten/-Prozessen wird auch noch Windows fast augenblicklich runtergefahren, falls man es doch mal schafft.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Jun 2024 um 17:32 Uhr)
  Mit Zitat antworten Zitat
Kas Ob.

Registriert seit: 3. Sep 2023
236 Beiträge
 
#4

AW: Port nicht erzeugt

  Alt 7. Jun 2024, 10:42
Hi,

Download ApiMonitor from http://www.rohitab.com/apimonitor (HTTP link as HTTPS usually and many times misconfigured at their part)

Only select API functions from (as shown in the screenshot )
Networking -> Windows Socket 2 -> ws2_32.dll
-> wsock32.dll

To be clear not all functions there are needed, you only need "bind" and "listen" and ("closesocket")
Also as i have no idea what DataSnap you referring to, but in some cases a "client" will use WinINet or WinHTTP, but these should not be your concern with opening ports, only if you found some missing API connections or more complex API calling like they are not coming form you application (the report will show the stack call for each API) as these client providers use the API internally and might be messing up your reports, or might no sense from first look.

After using these you should have a detailed error and response from bind and listen API call, like the socket handle is invalid as this means there was another API already destroyed the handle hence you need to expand on them or add CloseHandle to the report to track the handles.
2024-06-07-12_28_13-window.png
Kas
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.871 Beiträge
 
Delphi 12 Athens
 
#5

AW: Port nicht erzeugt

  Alt 8. Jun 2024, 08:27
Interesting tools, some idea worth to investigate! Thanks!
Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.871 Beiträge
 
Delphi 12 Athens
 
#6

AW: Port nicht erzeugt

  Alt 12. Jun 2024, 15:05
Hallo,

ich habe nun versucht eine Firewall Logaufzeichnung zu machen. Hat irgendwie nicht geklappt.
Aber eine Aufzeichnung mit dem interessanten API Monitor habe ich anfertigen können.
Ich habe dazu die ganze "Networking" Kategorie angekreuzt.

Angefügt habe ich zwei Screenshots. Diese zeigen alle bind Aufrufe, weil die nach
meinem Wissenstand die relevanten sind. Richtig?

Ok, es gibt noch einen Bind zu Port 3050, einer Firebird DB, der klappt aber.

Gerade der erste Screenshot zeigt den Bind für Port 1025, welches der Port ist, der bei
mir für die nicht funktionierende Funktionalität eingestellt ist und der lt. netstat -p TCP nicht
erzeugt wird.

Wenn ich das Log richtig interpretiere liefern diese bin Aufrufe aber 0 als Rückgabewert, was m.W.
"OK" bedeutet.

Nur was bedeutet das für mich?
Miniaturansicht angehängter Grafiken
apimonitor.jpg   apimonitor2.png  
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Kas Ob.

Registriert seit: 3. Sep 2023
236 Beiträge
 
#7

AW: Port nicht erzeugt

  Alt 12. Jun 2024, 16:39
Angefügt habe ich zwei Screenshots. Diese zeigen alle bind Aufrufe, weil die nach
meinem Wissenstand die relevanten sind. Richtig?
bind is relevant of course, but i don't see successful or failed listen !
https://learn.microsoft.com/en-us/wi...insock2-listen

Nur was bedeutet das für mich?
There is something bugging me in the second screenshot shot, you can see the bind call internally calling ntohs and return 82, while you mentioned port 1025 (which is showing in the first screenshot), is that a simple test, or there is something is missing here.

As i don't have your library of DataSnap to compare with working one, you should repeat the same API usage report between the failed one and successful, and see if there is something.
From what i see all the functions in both screenshots were OK, yet both do show that the opening port process was repeated, hinting there was a failure somewhere, yet there is no failed API per see !!

If i am to guess, your bug is completely have nothing to do with socket handling, it could be firewall or may be an event in a DataSnap class, in all cases you should have received an event or some error for that socket like an event triggered, (the one with success bind which is all of them, they all did bind yet repeated it on the same port), i don't see closesocket being called, try to catch the moment when your application decided to reopen the port, use logging for the relevant events.
Kas
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz