Thread Programmstatus über Port ermitteln (9 answers)
Opened by DonKnilch at 2009-11-27 12:54

sid burn
 2009-11-27 22:20
#128698 #128698
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
2009-11-27T13:56:39 DonKnilch
Danke erstmal für die Hinweise.

Was ich noch vergessen habe: Der Check soll nicht protokolliert werden, da es sich um ein Monitoring handelt, welches relativ häufig ausgeführt wird. Daher darf keine richtige Verbindung aufgebaut werden sondern es soll nur ein kurzer Check erfolgen, ob das Programm läuft. Bei Nmap ist das quasi der Stealth-Mode.

Ist sowas mit einer dieser Varianten machbar?


Wenn du checken möchtest ob ein Programm noch wirklich läuft dann nein, damit ist das nicht möglich.

Wenn du ein SYN Packet herausschickst und du ein Antwortpacket erhälst hat das noch lange nicht zu bedeuten das das benötigte Programm läuft oder es das richtige Programm ist. Ein Beispiel mit einer Webapplikation:

Du nutzt Lighttpd als Webserver und deine Web Anwendung läuft über einen separaten FastCGI Prozess über Unix Sockets. Lighttpd nimmt also anfragen an Port 80 entgegen und leitet sie zu deiner Webanwendung weiter die es bearbeitet und die Rückantwort wird wieder vom Lighttpd zurück gesendet.

Wenn dein FastCGI prozess nun stirbt, oder du ihn einfach beendest dann läuft Lighttpd immer noch auf Port 80. Bei anfragen wird er dann aber eine Fehlermeldung zurück senden.

Wenn du lediglich also auf den Port prüfst dann prüfst du nur ob dort ein Programm läuft das auf dem Port horcht. Du prüfst weder ob deine Applikation läuft, weder überprüfst du ob es das richtige ist.

Natürlich ist es eine Frage dessen was du als Ziel hast, und evtl. brauchst du das eine oder andere nicht. Aber du hast ja dein Ziel bereits genannt nämlich "Monitoring". Und kurz gesagt wenn das alles ist was du tust dann ist dein Monitoring wertloss.

Bei einem Monitoring solltest du wirklich prüfen ob der Dienst läuft. Das heißt zumindest bei einer Webapplikation z.B. eine Seite fetchen, Schauen ob HTTP Header zurück kommen. Schauen das kein Return Code zurück kommt etc. Optimal wäre sogar ein kleiner Funktionstest schauen ob eine Seite korrekte Daten zurück liefert etc.

Bei anderen Diensten gilt eigentlich das selbe. Monitoring heißt die Dienste wirklich zu überprüfen und die "Funktionalität" zu testen, verbunden oft auch in Daten die du auswerten kannst. Zum Beispiel Statistiken einholen die Limits setzen etc.

Was du betreibst oder machen möchtest hat mit Monitoring nicht am hut.
Last edited: 2009-11-27 22:22:00 +0100 (CET)
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Programmstatus über Port ermitteln