Netzwerk-Profis: TCP/IP-Ping auf Dienste?

Hi Leute

ich hätte da mal ne Frage: die geht recht tief in die Technik. Wer die Ausdrücke nicht kennt - einfach weiterklicken - habt einen schönen Tag. Das ist fettes Brot (evtl.)

Problem:

  • von einem Programm aus (ist jetzt Access, kann irgendein VBA sein, Pascal oder C/C++) soll die Verfügbarkeit eines Server-Dienstes (!) geprüft werden.
  • Klar: einfach einen ping auf die IP-Adresse und ich weiß, ob die Maschine läuft - hab ich schon.
  • reicht leider nicht. Das ist ICMP/IP - das läuft. Tagsüber bricht aber die Leistung ein, obwohl die Maschinen keine Last haben.

Problem ist nämlich

  • Maschine ist erreichbar, aber ein Dienst läuft nicht oder schlecht
  • dito, aber der Dienst ist in Firewalls, Routing, VPN irgendwie (!) benachteiligt - er läuft nicht so schnell, wie er könnte.
  • diese Funktion würde ich in Programmen benutzen, bevor der Dienst (z.B. SQL) abgefragt wird. Da gibt es Verzögerungen und ich weiß noch nicht, woher sie kommen - also Fehlersuche

Ping und Tracert fallen weg, weil sie nur auf der IP-Ebene laufen. Pech gehabt.

Wenn der Dienst aber läuft (und die Software dahinter nicht gerade abgeschmiert ist, möchte ich so was wie die Laufzeiten vergleichen können.

Meine Überlegung: ich baue eine TCP-Verbindung zu dem Dienst auf (könnte man sich vorstellen wie einen telnet [IP] [port] und schauen, wie lange das dauert. Das würde mir helfen.

Untendrunter wird erst mal der TCP-Handshake ausgeführt (SYN ACK SYN-ACK) , dann kämen die Daten - die brauche ich nicht. da könnte gleich ein FIN gesendet werden (oder unsauber eben nicht) und Feierabend.

Meine Frage: dieser Mechanismus müsste auf Win entweder in einem Kommandozeilen-Programm oder in einer der DLLs sowieso existieren - da will ich das Rad nicht neu erfinden.

Könnt ihr mir sagen, wo ich da anfange zu suchen?

Keine Frage - dann muss ich rausfinden, wer bremst usw - aber finden msus man ihn.

PS: Es geht nur um Basis-Dienste wie FTP, DNS, SMTP, SMB, hier: MySQL und solche Sachen.

Windows, verfuegbarkeit, Dienst, Port, Ping