So erstellen Sie Geräte und Ziele
WebSocket ist ein Kommunikationsprotokoll, das über TCP arbeitet und entwickelt wurde, um Nachrichten zwischen einem Browser und einem Webserver in Echtzeit auszutauschen. Browser (Client) und Server verwenden ein Protokoll ähnlich HTTP, um eine WebSocket-Verbindung herzustellen.
Weitere Informationen zum WebSocket-Protokoll und zur WebSocket-basierten Anwendungsüberwachung finden Sie im Dotcom-Monitor-Blog.
Ein WebSocket-Gerät, das in der Dotcom-Monitor-Plattform erstellt wurde, überprüft eine einzelne WebSocket-URL auf Verfügbarkeit, Leistung, richtigen Inhalt und Fehler. Das Überwachungsgerät kann auch konfiguriert werden, um Sicherheitszertifikate und Antwortinhalte zu überprüfen.
Konfigurieren einer Anforderung
Url
Zum Öffnen einer WebSocket-Verbindung müssen Sie die WebSocket-URL des Endpunkts oder der IP-Adresse der WebSocket-URL eingeben, die Sie überprüfen möchten (die ws:// und verschlüsselten wss:// Protokolle werden unterstützt). Beispielsweise wss://echo.websocket.org/
Um einen optisch freundlicheren Eingabemodus zu aktivieren, klicken Sie oben im Abschnitt auf den Schalter “Detailliert”.
Sie können die URL hier in einen dynamischen Wert oder Kontextparameter konvertieren. Sie können z. B. die Ziel-URL während der Überwachung dynamisch ändern.
Senden von Daten
Sobald die Verbindung geöffnet wurde, hört Dotcom-Monitor die Ereignisse im Socket an. Wenn Sie Daten an den Zielendpunkt übertragen müssen, geben Sie im Feld Daten senden eine Nachricht in einem Zeichenfolgen- oder Binärformat an. Dotcom-Monitor sendet die Nachricht mithilfe des WebSocket-Protokolls an den Zielendpunkt und wartet auf die Antwort.
Dotcom-Monitor unterstützt Razor-Ausdrücke in den WebSocket-Nachrichten. Um eine Zeichenfolge zu senden, die einen Razor-Ausdruck enthält, geben Sie sie in das Feld Daten senden ein, und verwenden Sie das Skript vorbereiten, um den Nachrichtentyp auf Razor-Ausdruck festzulegen. Andernfalls wird die Nachricht analysiert und als Text gesendet. Verwenden Sie den folgenden Codeausschnitt im Feld Skript vorbereiten , um das System zu benachrichtigen, dass die Nachricht mit dem Razor-Modul analysiert werden muss:
ProcessPostDataByRazor(currentTask);
Zusätzlich zur Razor-Engine ermöglicht Dotcom-Monitor die dynamische Änderung von Anforderungstextdaten mithilfe von Datenmasken. Informationen zum Verwenden der Razor-Syntax und der Datenmasken in gesendeten Daten und zum Konfigurieren dynamisch ändernder Nutzlast finden Sie unter Dynamisches Ändern der Nutzlast in HTTP-Anforderung.
Antwortvalidierung (Inhaltsvalidierung)
Um eine vom WebSocket empfangene Nachrichtenzeichenfolge zu überprüfen, können Sie Schlüsselwörter im Aufrufausführungsszenario bestätigen. Das System wartet auf die Antwort vom Zielendpunkt und überprüft die empfangene Nachricht auf das Vorhandensein des angegebenen Schlüsselworts in der Zeichenfolge, bis das Timeout für den Abschluss der Überwachungsaufgabe erreicht ist. Wenn das Schlüsselwort in den Antworten des Sockets nicht erkannt wurde, wird ein Fehler generiert.
In den Schlüsselwortfeldern können Sie ein Wort oder einen Ausdruck angeben, nach dem Sie in der Antwortnachricht suchen möchten. Verwenden Sie den Nur-Text, um ein Schlüsselwort anzugeben:
Vorbereiten von Skript und Postskript
Die Felder können Code enthalten, der für bestimmte Anforderungen und URL-Daten oder für die Validierung oder Veröffentlichung benutzerdefinierter Header verwendet werden kann. Weitere Informationen zur Verwendung finden Sie im Artikel “Vorbereiten von Skripts und Postskripten”, oder wenden Sie sich an den technischen Support.
Das dynamische Szenario der WebSocket-Aufrufausführung kann im Feld Skript vorbereiten angegeben werden. Das dynamische Szenario kann eine Reihe von Vorgängen mit Binär- oder Zeichenfolgendaten umfassen.
Binär formatierte Operationen (msg als Base64 codiert):
- ValidateBinary(string msg) – überprüft, ob eine WebSocket-Antwort den angegebenen Binärdaten entspricht.
- ValidateBinaryContains(string msg) – überprüft, ob eine WebSocket-Antwort angegebene Binärdaten enthält.
- SendBinary(string msg) – sendet eine binäre Nachricht an ein WebSocket.
Textformatierte Vorgänge:
- SendText(string msg) – sendet eine Textzeichenfolge an ein WebSocket.
- ValidateText(string msg) – überprüft, ob eine Antwort von einem WebSocket einer angegebenen Zeichenfolge entspricht.
- ValidateTextContains(string msg) – überprüft, ob eine WebSocket-Antwort eine angegebene Zeichenfolge enthält.
Verzögerung:
- Delay(string duration) – legt eine Verzögerung zwischen Websocket-Nachrichten in Sekunden im folgenden Format fest: XXs. Das System wartet auf die angegebene Zeit, bevor es den nächsten Vorgang im Skript ausführt. Beachten Sie, dass zu lange Verzögerungen aufgrund des Timeouts für den Abschluss der Aufgabe zum Abbruch des Skripts führen können.
In Fällen, in denen eine Assertion im Feld Skript vorbereiten angegeben wurde, wartet das System auf die angegebene Assertion in der Antwort und führt die Skriptausführung fort, sobald die Validierung erfolgreich ist. Wenn eine Nachricht mit der angegebenen Assertion nicht empfangen wird und das Timeout für die Aufgabenerledigung erreicht ist, generieren wir den Validierungsfehler.
Mit Dotcom-Monitor können Sie so viele Operationen wie nötig in das Prepare-Skript aufnehmen. Wenn jedoch das Timeout für den Abschluss der Aufgabe erreicht ist, wird die Skriptausführung beendet. Die Erledigungszeit der Aufgabe wird ab dem Beginn der Skriptausführung gezählt.
-
Beispiel: Antwortvalidierung OK
-
Beispiel: Antwortvalidierung fehlgeschlagen
-
Beispiel: 10 Sekunden Verzögerung
SSL/Zertifikatsprüfung
Secure Socket Layer SSL Certificate Monitoring ist ein Standardaspekt der Webüberwachung.
Folgende Optionen stehen zur Verfügung:
- Autorität: Überprüft, ob eine Zertifikatkette ein Stammzertifikat enthält, das vertrauenswürdig oder nicht vertrauenswürdig ist.
- Allgemeiner Name (Common Name, CN): Überprüft, ob eine Adresse, zu der Sie navigieren, mit dem Adresszertifikat übereinstimmt, für das die Adresse signiert wurde.
- Datum: überprüft das Ablaufdatum des Zertifikats.
- Widerruf: Überprüft, ob die Vertrauenskette des Zertifikats kein gesperrtes Zertifikat enthält.
- Verwendung: Überprüft eine Zertifikatkette für die unsachgemäße Verwendung eines Zwischenzertifikats.
- Ablauferinnerung in Tagen: eine Erinnerung, die (als Fehler) über den Ablauf des Zertifikats benachrichtigt wird.
- Clientzertifikat: Name des Clientzertifikats.
Schwellenwert für die Zeitüberprüfung (in Sekunden)
Geben Sie die Anzahl der Sekunden ein, die die Aufgabe auf eine Antwort warten soll, bevor die Aufgabe beendet und ein Fehler zurückgegeben wird. Das maximale Timeout beträgt 60 Sekunden. Wenn Sie dieses Feld leer lassen, wird das Standard-Timeout von 60 Sekunden angewendet. Die Erledigungszeit der Aufgabe wird ab dem Beginn der Skriptausführung gezählt.
Standardauthentifizierung
The HTTP authentication protocol is used to allow users to access content on some websites.
The following authentication schemes are available:
- Basic Authentication: This method encodes the username and password in base64 and sends them in the request header. It’s simple but not secure unless used with HTTPS.
- Digest Authentication: This scheme hashes credentials using a nonce (a random value) before sending them over the network, providing better security than Basic Authentication by preventing replay attacks.
- NTLM Authentication: A challenge-response mechanism developed by Microsoft, NTLM is used for securing credentials in Windows environments. It provides strong security by using multiple hashing and challenge-response protocols.
Once provided, login credentials will be passed along with the request header to the web server.
- Username: contains a username for HTTP/S authentication.
- User Password: contains a password for HTTP/S authentication.
Do not confuse HTTP authentication with other authentication schemes such as Bearer Authentication that involves bearer tokens and OAuth 2.0 that uses access tokens.
Read the articles on Basic Authentication Username and Password and Monitoring OAuth 2.0-based APIs for more information.
Header
Die Option ermöglicht ggf. das Hinzufügen zusätzlicher benutzerdefinierter Header.
- Headername: Geben Sie den Namen des Parameters an, wie er in der Anforderung angezeigt wird.
- Wert: Geben Sie den Wert ein, der dem Namen des Parameters zugeordnet ist.
DNS-Optionen
Mit der Funktion DNS-Optionen können Benutzer auswählen, wie DNS-Anforderungen (Domain Name Server) während einer Überwachungsaufgabe ausgeführt werden.
Um den Modus zum Auflösen von Hostnamen anzugeben, wählen Sie im Abschnitt DNS-Auflösungsmodus einen der verfügbaren Modi aus. Weitere Informationen zur Feature-Konfiguration finden Sie unter DNS-Modusoptionen.
Im Abschnitt Benutzerdefinierte DNS-Hosts können Sie die Zuordnung von IP-Adressen zu Hostnamen einrichten. IPv6- und IPv4-DNS-Auflösung wird unterstützt.
Um das Mapping festzulegen, geben Sie die IP-Adresse und den Hostnamen in die entsprechenden Felder ein.
Siehe auch: DNS-Modusoptionen.