Trigger-API-Referenz

Überblick

Application Inspection-Trigger bestehen aus benutzerdefiniertem Code, der bei Systemereignissen über die ExtraHop-Trigger-API automatisch ausgeführt wird. Durch das Schreiben von Triggern können Sie benutzerdefinierte Metrikdaten über die Aktivitäten in Ihrem Netzwerk sammeln. Darüber hinaus können Trigger Operationen ausführen an Protokoll Nachrichten (wie HTTP Anfrage), bevor das Paket verworfen wird.

Das ExtraHop-System überwacht, extrahiert und zeichnet einen Kernsatz von Layer 7 auf (L7) Metriken für Geräte im Netzwerk, z. B. Anzahl von Antworten, Fehlerzahlen und Verarbeitungszeiten. Nachdem diese Metriken für ein bestimmtes L7-Protokoll aufgezeichnet wurden, werden die Pakete verworfen, wodurch Ressourcen für die weitere Verarbeitung freigegeben werden.

Mit Triggern können Sie:

  • Generieren und speichern Sie benutzerdefinierte Metriken im internen Datenspeicher des ExtraHop-Systems. Während das ExtraHop-System beispielsweise keine Informationen darüber sammelt, welcher Benutzeragent eine HTTP-Anfrage generiert hat, können Sie diese Detailtiefe generieren und erfassen, indem Sie einen Auslöser schreiben und die Daten in den Datenspeicher übertragen. Sie können auch benutzerdefinierte Daten anzeigen, die im Datenspeicher gespeichert sind, indem Sie benutzerdefinierte Metrikseiten erstellen und diese Metriken im Metric Explorer anzeigen und Dashboards.
  • Generieren und senden Sie Datensätze für die langfristige Speicherung und den Abruf an eine Recordstore.
  • Erstellen Sie eine benutzerdefinierte Anwendung, die Metriken für verschiedene Arten von Netzwerkverkehr sammelt, um Informationen mit stufenübergreifender Wirkung zu erfassen. Zum Beispiel, um einen einheitlichen Überblick über den gesamten Netzwerkverkehr im Zusammenhang mit einer Website zu erhalten — von Webtransaktionen bis hin zu DNS Anfragen und Antworten auf Datenbanktransaktionen — Sie können eine Anwendung erstellen, die all diese websitebezogenen Metriken enthält.
  • Generieren Sie benutzerdefinierte Metriken und senden Sie die Informationen an Syslog-Nutzer wie Splunk oder an Datenbanken von Drittanbietern wie MongoDB oder Kafka.
  • Initiieren Sie eine PCAP, um einzelne Datenflüsse anhand benutzerdefinierter Kriterien Datensatz. Sie können erfasste Flows herunterladen und mit Tools von Drittanbietern verarbeiten. Ihr ExtraHop-System muss für die PCAP lizenziert sein, um auf diese Funktion zugreifen zu können.

Der Zweck dieses Handbuchs besteht darin, Referenzmaterial für das Schreiben von JavaScript-Codeblöcken bereitzustellen, die ausgeführt werden, wenn die Triggerbedingungen erfüllt sind. Die API-Ressourcen auslösen Dieser Abschnitt enthält eine Liste von Themen, die einen umfassenden Überblick über Trigger-Konzepte und -Verfahren bieten.

Datentypen für benutzerdefinierte Metriken

Mit der ExtraHop Trigger API können Sie benutzerdefinierte Metriken erstellen, die Daten über Ihre Umgebung sammeln, die über das hinausgehen, was die integrierten Protokollmetriken bieten.

Sie können benutzerdefinierte Metriken der folgenden Datentypen erstellen:

Graf

Die Anzahl der Metrik Ereignisse, die in einem bestimmten Zeitraum aufgetreten sind. Um beispielsweise Informationen über die Anzahl der HTTP-Anfragen im Laufe der Zeit Datensatz, wählen Sie eine Zählmetrik der obersten Ebene aus. Sie können auch eine Metrik zur Detailzählung auswählen, um Informationen darüber Datensatz, wie oft Klienten hat mit dem IP-Adressschlüssel und einer Ganzzahl, die die Anzahl der Zugriffe als Wert darstellt, auf einen Server zugegriffen.

Schnappschuss
Eine spezielle Art von Zählmetrik, die, wenn sie im Laufe der Zeit abgefragt wird, den neuesten Wert zurückgibt (z. B. hergestellte TCP-Verbindungen).
deutliche
Die geschätzte Anzahl einzigartiger Elemente, die im Laufe der Zeit beobachtet wurden, z. B. die Anzahl der eindeutigen Ports, die SYN-Pakete empfangen haben, wobei eine hohe Zahl auf ein Port-Scanning hindeuten könnte.
Datensatz
Eine statistische Zusammenfassung der Zeitinformationen, z. B. eine Zusammenfassung mit fünf Zahlen: min, 25. Perzentil, Median, 75. Perzentil, max. Um beispielsweise Informationen über die HTTP-Verarbeitungszeit im Laufe der Zeit Datensatz, wählen Sie eine oberste Ebene Datensatz Metrik.
Probenset
Eine statistische Zusammenfassung von Zeitinformationen wie Mittelwert und Standardabweichung. Um beispielsweise Informationen darüber Datensatz, wie lange der Server für die Verarbeitung der einzelnen URI benötigt hat, wählen Sie ein detailliertes Beispielset mit dem URI-Zeichenkettenschlüssel und einer Ganzzahl aus, die die Verarbeitungszeit als Wert darstellt.
max.
Eine spezielle Art von Zählmetrik, die das Maximum beibehält. Um beispielsweise die langsamsten HTTP-Anweisungen im Laufe der Zeit Datensatz, ohne sich auf eine Sitzungstabelle verlassen zu müssen, wählen Sie eine Metrik der obersten Ebene und eine Detail-Max-Metrik aus.

Benutzerdefinierte Metriken werden für die folgenden Quelltypen unterstützt:

Weitere Informationen zu den Unterschieden zwischen Top-Level- und Detail-Metriken finden Sie in Häufig gestellte Fragen zu Kennzahlen.

Globale Funktionen

Globale Funktionen können für jedes Ereignis aufgerufen werden.

cache(key: Schnur , valueFn: () => Irgendein ): Irgendein
Speichert die angegebenen Parameter in einer Tabelle, um eine effiziente Suche und Rückgabe großer Datensätze zu ermöglichen.
key: Schnur
Ein Bezeichner, der den Speicherort des zwischengespeicherten Werts angibt. Ein Schlüssel muss innerhalb eines Auslöser eindeutig sein.
valueFn: () => Irgendein
Eine Funktion mit Nullargumenten, die einen Wert ungleich Null zurückgibt.

Im folgenden Beispiel ist der cache Die Methode wird mit großen Datenmengen aufgerufen, die fest in das Triggerskript codiert sind:

let storeLookup = cache("storesByNumber", () => ({
    1 : "Newark",
    2 : "Paul",
    3 : "Newark",
    4 : "St Paul"// 620 lines omitted
}));

var storeCity;
var query = HTTP.parseQuery(HTTP.query);

if (query.storeCode) {
   storeCity = storeLookup[parseInt(query.storeCode)];
}

Im folgenden Beispiel wird eine Liste bekannter Benutzeragenten in einem JBoss-Trigger normalisiert, bevor sie mit dem beobachteten Benutzeragenten verglichen wird. Der Auslöser konvertiert die Liste in Kleinbuchstaben, entfernt überflüssige Leerzeichen und speichert dann die Einträge im Cache.

function jbossUserAgents() {
    return [
        // Add your own user agents here, followed by a comma
        "Gecko-like (Edge 14.0; Windows 10; Silverlight or similar)",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 
         (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36",
        "Mozilla/5.0 (Android)"
    ].map(ua => ua.trim().toLowerCase());
}

var badUserAgents = cache("badUserAgents", jbossUserAgents);
commitDetection(type: Schnur , options: Objekt )
Generiert eine Erkennung auf dem ExtraHop-System.
type: Schnur
Ein benutzerdefinierter Typ für die Definition, z. B. brute_force_attack. Du kannst Erkennungen abstimmen um mehrere Erkennungen desselben Typs auszublenden. Die Zeichenfolge darf nur Buchstaben, Zahlen und Unterstriche enthalten.
options: Objekt
Ein Objekt, das die folgenden Eigenschaften für die Erkennung angibt:
title: Schnur
Ein benutzerdefinierter Titel, der die Erkennung identifiziert.
description: Schnur
Eine Beschreibung der Erkennung.
riskScore: Zahl | null
Eine optionale Zahl zwischen 1 und 99, die den Risikoscore der Erkennung darstellt.
participants: Reihe von Objekten
Ein optionales Array von Teilnehmerobjekten, die der Erkennung zugeordnet sind. Ein Teilnehmerobjekt muss die folgenden Eigenschaften enthalten:
object: Objekt
Das Gerät, die Anwendung oder das IP-Adressobjekt, das dem Teilnehmer zugeordnet ist.
role: Schnur
Die Rolle des Teilnehmer bei der Erkennung. Die folgenden Werte sind gültig:
  • offender
  • victim
identityKey: Schnur | null
Eine eindeutige Kennung, die fortlaufende Erkennungen ermöglicht. Wenn mehrere Erkennungen mit demselben Identitätsschlüssel und Erkennungstyp innerhalb des von der identityTtl Eigentum, die Erkennungen werden zu einer einzigen laufenden Erkennung zusammengefasst.
Hinweis:Wenn das ExtraHop-System eine große Anzahl von Erkennungen mit eindeutigen Identitätsschlüsseln generiert, kann das System möglicherweise einige laufende Erkennungen nicht konsolidieren. Das System generiert jedoch nicht mehr als 250 individuelle Erkennungen für einen Auslöser an einem Tag.
identityTtl: Schnur
Die Zeitspanne, nach der eine Erkennung generiert wurde, in der doppelte Erkennungen zu einer fortlaufenden Erkennung zusammengefasst werden.

Wenn nach der Generierung einer Erkennung innerhalb des angegebenen Zeitraums eine weitere Erkennung mit demselben Identitätsschlüssel und Erkennungstyp generiert wird, werden die beiden Erkennungen zu einer einzigen laufenden Erkennung zusammengefasst. Jedes Mal, wenn eine Erkennung zu einer laufenden Erkennung konsolidiert wird, wird der Zeitraum zurückgesetzt, und die Erkennung endet erst, wenn der Zeitraum abgelaufen ist. Zum Beispiel, wenn identityTtl ist eingestellt auf day, und vier doppelte Erkennungen werden jeweils im Abstand von 12 Stunden generiert, die laufende Erkennung erstreckt sich über drei Tage. Die folgenden Zeiträume sind gültig:

  • hour
  • day
  • week

Der Standardzeitraum ist hour.

commitRecord(id: Schnur , record: Objekt ): Leere
Sendet ein benutzerdefiniertes Datensatzobjekt an den konfigurierten Recordstore.
id: Schnur
Die ID des Datensatztyps, der erstellt werden soll. Die ID darf nicht mit einer Tilde (~) beginnen.
record: Objekt
Ein Objekt, das eine Liste von Eigenschafts- und Wertepaaren enthält, die als benutzerdefinierter Datensatz an den konfigurierten Recordstore gesendet werden sollen.

Die folgenden Eigenschaften werden Datensätzen automatisch hinzugefügt und in den Objekten, die von den integrierten Datensatzaccessoren zurückgegeben werden, nicht dargestellt, wie HTTP.record:

  • ex
  • flowID
  • client
  • clientAddr
  • clientPort
  • receiver
  • receiverAddr
  • receiverPort
  • sender
  • senderAddr
  • senderPort
  • server
  • serverAddr
  • serverPort
  • timestamp
  • vlan

Zum Beispiel, um auf die zuzugreifen flowID Eigenschaft in einem HTTP-Datensatz, die Sie einschließen würden HTTP.record.Flow.id in deiner Aussage.

Wichtig:Um unerwartete Daten im Datensatz oder eine Ausnahme beim Aufrufen der Methode zu vermeiden, können die oben aufgeführten Eigenschaftsnamen nicht als Eigenschaftsnamen in benutzerdefinierten Datensätzen angegeben werden.

Darüber hinaus darf ein Eigenschaftsname in benutzerdefinierten Datensätzen keines der folgenden Zeichen enthalten:

.
Zeitraum
:
Dickdarm
[
Eckige Klammer
]
Eckige Klammer

Im folgenden Beispiel sind die beiden Eigenschafts- und Wertepaare, die dem hinzugefügt wurden record Variablen werden an einen benutzerdefinierten Datensatz übergeben von commitRecord funktion:

var record = {
   'field1': myfield1,
   'field2': myfield2
};
commitRecord('record_type_id', record);

Bei den meisten Ereignissen können Sie einen integrierten Datensatz festschreiben, der Standardeigenschaften enthält. Zum Beispiel ein integrierter Datensatz wie der HTTP.record Objekt kann die Grundlage für einen benutzerdefinierten Datensatz sein.

Der folgende Beispielcode schreibt einen benutzerdefinierten Datensatz fest , der alle integrierten Metriken aus dem HTTP.record Objekt und eine zusätzliche Metrik aus dem HTTP.headers Eigentum:

var record = Object.assign(
   {'server': HTTP.headers.server},
   HTTP.record
); 
commitRecord('custom-http-record', record);

Sie können bei den folgenden Ereignissen auf ein integriertes Datensatzobjekt zugreifen:

Klasse Ereignisse
AAA AAA_REQUEST

AAA_RESPONSE

ActiveMQ ACTIVEMQ_MESSAGE
AJP AJP_RESPONSE
CIFS CIFS_RESPONSE
DB DB_RESPONSE
DHCP DHCP_REQUEST

DHCP_RESPONSE

DICOM DICOM_REQUEST

DICOM_RESPONSE

DNS DNS_REQUEST

DNS_RESPONSE

FIX FIX_REQUEST

FIX_RESPONSE

Flow FLOW_RECORD
FTP FTP_RESPONSE
HL7 HL7_RESPONSE
HTTP HTTP_RESPONSE
IBMMQ IBMMQ_REQUEST

IBMMQ_RESPONSE

ICA ICA_OPEN

ICA_CLOSE

ICA_TICK

ICMP ICMP_MESSAGE
Kerberos KERBEROS_REQUEST

KERBEROS_RESPONSE

LDAP LDAP_REQUEST

LDAP_RESPONSE

Memcache MEMCACHE_REQUEST

MEMCACHE_RESPONSE

Modbus MODBUS_RESPONSE
MongoDB MONGODB_REQUEST

MONGODB_RESPONSE

MSMQ MSMQ_MESSAGE
NetFlow NETFLOW_RECORD
NFS NFS_RESPONSE
NTLM NTLM_MESSAGE
POP3 POP3_RESPONSE
RDP RDP_OPEN

RDP_CLOSE

RDP_TICK

Redis REDIS_REQUEST

REDIS_RESPONSE

RTCP RTCP_MESSAGE
RTP RTP_TICK
SCCP SCCP_MESSAGE
SFlow SFLOW_RECORD
SIP SIP_REQUEST

SIP_RESPONSE

SMPP SMPP_RESPONSE
SMTP SMTP_RESPONSE
SSH SSH_OPEN

SSH_CLOSE

SSH_TICK

SSL SSL_ALERT

SSL_OPEN

SSL_CLOSE

SSL_HEARTBEAT

SSL_RENEGOTIATE

Telnet TELNET_MESSAGE
debug(message: Schnur ): Leere
Schreibt an die Debug-Log wenn Debugging aktiviert ist. Die maximale Nachrichtengröße beträgt 2048 Byte. Nachrichten, die länger als 2048 Byte sind, werden gekürzt.
getTimestamp(): Zahl
Gibt den Zeitstempel des Paket zurück, das das Triggerereignis ausgelöst hat, ausgedrückt in Millisekunden mit Mikrosekunden als Bruchteil nach dem Dezimaltrennzeichen.
log(message: Schnur ): Leere
Schreibt in das Debug-Log, unabhängig davon, ob das Debugging aktiviert ist.

Mehrere Aufrufe von Debug- und Log-Anweisungen, in denen die Nachricht denselben Wert hat, werden alle 30 Sekunden angezeigt.

Das Limit für Debug-Logeinträge liegt bei 2048 Byte. Um größere Einträge zu protokollieren, siehe Remote.Syslog.

md5(message: Schnur | Puffer ): Schnur
Hasht die UTF-8-Darstellung der angegebenen Nachricht Puffer Objekt oder Zeichenfolge und gibt die MD5-Summe der Zeichenfolge zurück.
sha1(message: Schnur | Puffer ): Schnur
Hasht die UTF-8-Darstellung der angegebenen Nachricht Puffer Objekt oder Zeichenfolge und gibt die SHA-1-Summe der Zeichenfolge zurück.
sha256(message: Schnur | Puffer ): Schnur
Hasht die UTF-8-Darstellung der angegebenen Nachricht Puffer Objekt oder Zeichenfolge und gibt die SHA-256-Summe der Zeichenfolge zurück.
sha512(message: Schnur | Puffer ): Schnur
Hasht die UTF-8-Darstellung der angegebenen Nachricht Puffer Objekt oder Zeichenfolge und gibt die SHA-512-Summe der Zeichenfolge zurück.
uuid(): Schnur
Gibt einen zufälligen Universally Unique Identifier (UUID) der Version 4 zurück.

Kurse für allgemeine Zwecke

Die Trigger-API-Klassen in diesem Abschnitt bieten Funktionen, die für alle Ereignisse allgemein anwendbar sind.

Klasse Beschreibung
Application Ermöglicht das Erstellen neuer Anwendungen und fügt benutzerdefinierte Metriken auf Anwendungsebene hinzu.
Puffer Ermöglicht den Zugriff auf Pufferinhalte.
Detection Ermöglicht das Abrufen von Informationen über Erkennungen auf dem ExtraHop-System.
Device Ermöglicht das Abrufen von Geräteattributen und das Hinzufügen benutzerdefinierter Metriken auf Geräteebene.
Discover Ermöglicht Ihnen den Zugriff auf neu entdeckte Geräte und Anwendungen.
Flow Flow bezieht sich auf eine Konversation zwischen zwei Endpunkten über ein Protokoll wie TCP, UDP oder ICMP. Die Flow-Klasse bietet Zugriff auf Elemente dieser Konversationen, wie z. B. Endpunkt-IP-Adressen und Alter des Flows. Die Flow-Klasse enthält auch einen Flow-Speicher, mit dem Objekte im selben Flow von der Anfrage zur Antwort übergeben werden können.
FlowInterface Ermöglicht das Abrufen von Flow-Schnittstellenattributen und das Hinzufügen benutzerdefinierter Metriken auf Schnittstellenebene.
FlowNetwork Ermöglicht das Abrufen von Flow-Netzwerkattributen und das Hinzufügen benutzerdefinierter Metriken auf Flow-Netzwerkebene.
GeoIP Ermöglicht es Ihnen, den ungefähren Standort einer bestimmten IP-Adresse auf Landes- oder Stadtebene abzurufen.
IPAddress Ermöglicht das Abrufen von IP-Adressattributen.
Network Ermöglicht das Hinzufügen benutzerdefinierter Metriken auf globaler Ebene.
Session Ermöglicht den Zugriff auf die Sitzungstabelle, die die Koordination mehrerer unabhängig voneinander ausgeführter Trigger unterstützt.
System Ermöglicht den Zugriff auf Eigenschaften, die das ExtraHop-System identifizieren, auf dem ein Auslöser ausgeführt wird.
ThreatIntel Ermöglicht es Ihnen zu sehen, ob eine IP-Adresse, ein Hostname oder eine URI verdächtig ist.
Trigger Ermöglicht den Zugriff auf Details zu einem laufenden Auslöser.
VLAN Ermöglicht den Zugriff auf Informationen über ein VLAN im Netzwerk.

Application

Das Application Mit dieser Klasse können Sie Metriken für mehrere Arten von Netzwerkverkehr erfassen, um Informationen zu erfassen, die sich auf mehrere Ebenen auswirken. Wenn Sie beispielsweise eine einheitliche Ansicht des gesamten mit einer Website verbundenen Netzwerkverkehrs wünschen — von Webtransaktionen über DNS-Anfragen bis hin zu Antworten auf Datenbanktransaktionen —, können Sie einen Auslöser schreiben, um eine benutzerdefinierte Anwendung zu erstellen, die all diese verwandten Metriken enthält. Das Application Mit der Klasse können Sie auch benutzerdefinierte Metriken erstellen und die Metrikdaten an Anwendungen übertragen. Anwendungen können nur durch Trigger erstellt und definiert werden.

Instanzmethoden

Die Methoden in diesem Abschnitt können nicht direkt auf dem aufgerufen werden Application Klasse. Sie können diese Methoden nur für bestimmte Application-Klasseninstanzen aufrufen. Zum Beispiel ist die folgende Aussage gültig:

Application("sampleApp").metricAddCount("responses", 1);

Die folgende Aussage ist jedoch ungültig:

Application.metricAddCount("responses", 1);
commit(id: Schnur ): Leere
Erstellt eine Anwendung, überträgt die mit dem Ereignis verknüpften integrierten Metriken an die Anwendung und fügt die Anwendung zu allen integrierten oder benutzerdefinierten Datensätzen hinzu, die während des Ereignisses festgeschrieben wurden.

Die Anwendungs-ID muss eine Zeichenfolge sein. Bei integrierten Anwendungsmetriken werden die Metriken nur einmal festgeschrieben, auch wenn commit() Die Methode wird mehrmals für dasselbe Ereignis aufgerufen.

Die folgende Anweisung erstellt eine Anwendung mit dem Namen „myApp" und überträgt integrierte Metriken an die Anwendung:

Application("myApp").commit();

Wenn Sie benutzerdefinierte Metriken an eine Anwendung übertragen möchten, können Sie die Anwendung erstellen, ohne die commit() Methode. Wenn die Anwendung beispielsweise noch nicht existiert, erstellt die folgende Anweisung die Anwendung und überträgt die benutzerdefinierte Metrik an die Anwendung:

Application("myApp").metricAddCount("requests", 1);

Du kannst das anrufen Application.commit Methode nur bei den folgenden Ereignissen:

Metrische Typen Ereignis
AAA AAA_REQUEST -und- AAA_RESPONSE
AJP AJP_RESPONSE
CIFS CIFS_RESPONSE
DB DB_RESPONSE
DHCP DHCP_REQUEST -und- DHCP_RESPONSE
DNS DNS_REQUEST -und- DNS_RESPONSE
FIX FIX_REQUEST -und- FIX_RESPONSE
FTP FTP_RESPONSE
HTTP HTTP_RESPONSE
IBMMQ IBMMQ_REQUEST -und- IBMMQ_RESPONSE
ICA ICA_TICK -und- ICA_CLOSE
Kerberos KERBEROS_REQUEST -und- KERBEROS_RESPONSE
LDAP LDAP_REQUEST -und- LDAP_RESPONSE
Memcache MEMCACHE_REQUEST -und- MEMCACHE_RESPONSE
Modbus MODBUS_RESPONSE
MongoDB MONGODB_REQUEST -und- MONGODB_RESPONSE
NAS CIFS_RESPONSE -und/oder- NFS_RESPONSE
NetFlow NETFLOW_RECORD

Beachten Sie, dass das Commit nicht erfolgt, wenn Enterprise-IDs im NetFlow-Datensatz vorhanden sind.

NFS NFS_RESPONSE
RDP RDP_TICK
Redis REDIS_REQUEST -und- REDIS_RESPONSE
RPC RPC_REQUEST -und- RPC_RESPONSE
RTP RTP_TICK
RTCP RTCP_MESSAGE
SCCP SCCP_MESSAGE
SIP SIP_REQUEST -und- SIP_RESPONSE
SFlow SFLOW_RECORD
SMTP SMTP_RESPONSE
SSH SSH_CLOSE -und- SSH_TICK
SSL SSL_RECORD -und- SSL_CLOSE
WebSocket WEBSOCKET_OPEN, WEBSOCKET_CLOSE, und WEBSOCKET_MESSAGE
metricAddCount(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Metrik zählen. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Metrik für die Zählung der obersten Ebene.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailCount(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Metrik zählen anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Metrik für die Detailanzahl.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDataset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Datensatz-Metrik. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Datensatzmetrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailDataset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Datensatz-Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Metrik für die Detailanzahl.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDistinct(metric_name: Schnur , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes oberste Ebene unterschiedliche Zählmetrik. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Metrik für die eindeutige Anzahl auf oberster Ebene.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddDetailDistinct(metric_name: Schnur , key: Schnur | IP-Adresse , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes Detail unterschiedliche Zählmetrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der detaillierten Metrik für unterschiedliche Zählungen.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddMax(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene maximale Metrik. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der maximalen Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailMax(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail maximale Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der maximalen Detailmetrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSampleset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Stichprobensatz, Metrik. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Sampleset-Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSampleset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Stichprobensatz, Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSnap(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Snapshot-Metrik. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Snapshot-Metrik der obersten Ebene.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSnap(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Snapshot-Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Anwendung.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
toString(): Schnur
Gibt das Application-Objekt als Zeichenfolge im folgenden Format zurück:
[object Application <application_id>]

Instanzeigenschaften

id: Schnur
Die eindeutige ID der Anwendung, wie sie im ExtraHop-System auf der Seite für diese Anwendung angezeigt wird.

Puffer

Das Buffer Klasse bietet Zugriff auf Binärdaten.

Ein Puffer ist ein Objekt mit den Eigenschaften eines Arrays. Jedes Element im Array ist eine Zahl zwischen 0 und 255, die ein Byte darstellt. Jedes Pufferobjekt hat eine Längeneigenschaft (die Anzahl der Elemente in einem Array) und einen Operator mit eckigen Klammern.

Verschlüsselte Nutzdaten werden für die TCP- und UDP-Nutzlastanalyse nicht entschlüsselt.

UDP_PAYLOAD benötigt aber eine passende Zeichenfolge TCP_PAYLOAD tut nicht. Wenn Sie keine passende Zeichenfolge angeben für TCP_PAYLOAD, der Auslöser wird einmal nach den ersten N Byte der Nutzlast ausgeführt.

Methoden

Buffer(string: Schnur | format: Schnur )
Konstruktor für die Buffer-Klasse, der eine codierte Zeichenfolge in ein Buffer-Objekt dekodiert. Die folgenden Parameter sind erforderlich:
string: Schnur
Die codierte Zeichenfolge.
format: Schnur
Das Format, mit dem das Zeichenkettenargument codiert ist. Die folgenden Kodierungsformate sind gültig:
  • base64
  • base64url

Instanzmethoden

decode(type: Schnur ): Schnur
Interpretiert den Inhalt des Puffers und gibt eine Zeichenfolge mit einer der folgenden Optionen zurück:
  • utf-8
  • utf-16
  • ucs2
  • hex
equals(buffer: Puffer ): Boolesch
Führt einen Gleichheitstest zwischen Buffer-Objekten durch, wobei buffer ist das Objekt, mit dem verglichen werden soll.
slice(start: Zahl , end: Zahl ): Puffer
Gibt die angegebenen Bytes in einem Puffer als neuen Puffer zurück. Bytes werden ab dem angegebenen Startargument ausgewählt und enden am Endargument (aber nicht einschließlich).
start: Zahl
Ganzzahl, die angibt, wo die Auswahl beginnen soll. Geben Sie negative Zahlen an, um am Ende eines Puffers auszuwählen. Das ist nullbasiert.
end: Zahl
Optionale Ganzzahl, die angibt, wo die Auswahl beendet werden soll. Wenn nicht angegeben, werden alle Elemente von der Startposition bis zum Ende des Puffers ausgewählt. Geben Sie negative Zahlen an, um am Ende eines Puffers auszuwählen. Das ist nullbasiert.
toString(format: Schnur ): Schnur
Konvertiert den Puffer in eine Zeichenfolge. Der folgende Parameter ist optional:
format: Schnur
Das Format, mit dem die Zeichenfolge codiert werden soll. Wenn keine Kodierung angegeben ist, ist die Zeichenfolge uncodiert. Die folgenden Kodierungsformate sind gültig:
  • base64
  • base64url
  • hex
unpack(format: Schnur , offset: Zahl ): Reihe
Verarbeitet binäre Daten oder Daten mit fester Breite aus einem beliebigen Pufferobjekt, z. B. eines, das von HTTP.payload, Flow.client.payload, oder Flow.sender.payload, entsprechend der angegebenen Formatzeichenfolge und optional am angegebenen Offset.

Gibt ein JavaScript-Array zurück, das ein oder mehrere entpackte Felder enthält und die absolute Payload-Byteposition +1 des letzten Bytes im entpackten Objekt enthält. Der Bytewert kann in weiteren Aufrufen zum Entpacken eines Puffers als Offset angegeben werden.

Hinweis:
  • Das buffer.unpack Die Methode interpretiert Bytes standardmäßig in Big-Endian-Reihenfolge. Um Bytes in Little-Endian-Reihenfolge zu interpretieren, stellen Sie der Formatzeichenfolge ein Kleiner-als-Zeichen voran (<).
  • Das Format muss nicht den gesamten Puffer verbrauchen.
  • Null-Bytes sind in entpackten Zeichenketten nicht enthalten. Zum Beispiel: buf.unpack('4s')[0] - > 'example'.
  • Das Z-Formatzeichen steht für nullterminierte Zeichenketten variabler Länge. Wenn das letzte Feld z ist, wird die Zeichenfolge erzeugt, unabhängig davon, ob das Nullzeichen vorhanden ist oder nicht.
  • Eine Ausnahme wird ausgelöst, wenn nicht alle Felder entpackt werden können, weil der Puffer nicht genügend Daten enthält.

Die folgende Tabelle zeigt die unterstützten Puffer-String-Formate:

Formatieren Typ C JavaScript-Typ Standardgröße
x pad type kein Wert  
A struct in6_addr IPAddress 16
a struct in_addr IPAddress 4
b signed char string of length 1 1
B unsigned char number 1
? _Bool boolean 1
H unsignierter Kurzfilm number 2
h short number 2
i int number 4
I unsigned int number 4
l long number 4
L unsigned long number 4
q long long number 8
Q unsigned long long number 8
f number number 4
d double number 4
s char[] string  
z char[] string  

Instanzeigenschaften

length: Zahl
Die Anzahl der Byte im Puffer.

Detection

Das Detection Klasse ermöglicht es Ihnen, Informationen über Erkennungen auf dem ExtraHop-System abzurufen.

Hinweis:Erkennungen durch maschinelles Lernen erfordern eine Verbindung zu ExtraHop Cloud Services .

Ereignisse

DETECTION_UPDATE
Wird ausgeführt, wenn eine Erkennung auf dem ExtraHop-System erstellt oder aktualisiert wird.
Wichtig:Dieses Ereignis wird für alle Erkennungen ausgeführt, unabhängig vom Modulzugriff, der dem Benutzer gewährt wird, der den Auslöser erstellt. Beispielsweise werden Trigger, die von Benutzern mit NPM-Modulzugriff erstellt wurden, am ausgeführt DETECTION_UPDATE Ereignisse für Sicherheits- und Leistungserkennungen.
Hinweis:Dieses Ereignis wird nicht ausgeführt, wenn der Status eines Erkennungstickets aktualisiert wird. Wenn Sie beispielsweise einen Erkennungsbeauftragten ändern, wird das Ereignis DETECTION_UPDATE nicht ausgeführt. Dieses Ereignis wird auch nicht für versteckte Erkennungen ausgeführt.
Hinweis:Sie können Trigger, die nur bei diesem Ereignis ausgeführt werden, nicht bestimmten Geräten oder Gerätegruppen zuweisen. Trigger, die bei diesem Ereignis ausgeführt werden, werden immer dann ausgeführt, wenn dieses Ereignis eintritt.

Eigenschaften

applianceId: Zahl
Wenn angerufen auf einem Konsole, gibt die ID des angeschlossenen Sensor zurück, an dem die Erkennung stattgefunden hat. Wenn auf einem Sensor aufgerufen, kehrt zurück 0.
assignee: Schnur
Der Empfänger des Tickets, das mit der Erkennung verknüpft ist.
categories: Reihe von Zeichenketten
Die Liste der Kategorien, zu denen die Erkennung gehört.

Die folgenden Werte sind gültig:

Wert Kategorie
sec Sicherheit
sec.action Zielgerichtete Maßnahmen
sec.botnet Botnetz
sec.caution Vorsicht
sec.command Befehl und Steuerung
sec.cryptomining Krypto-Mining
sec.dos Diensteverweigerung
sec.exfil Exfiltration
sec.exploit Ausbeutung
sec.hardening Aushärten
sec.lateral Seitliche Bewegung
sec.ransomware Ransomware
sec.recon Aufklärung
perf Aufführung
perf.auth Autorisierung und Zugriffskontrolle
perf.db Datenbank
perf.network Netzwerk-Infrastruktur
perf.service Verschlechterung des Dienstes
perf.storage Aufbewahrung
perf.virtual Desktop- und Anwendungsvirtualisierung
perf.web Web-Applikation
description: Schnur
Die Beschreibung der Erkennung.
Hinweis:Es ist oft einfacher, Informationen über eine Erkennung aus dem Detection.properties Eigenschaft als das Parsen des Detection.description Text. Weitere Informationen finden Sie in der Detection.properties Beschreibung.

Die folgende Tabelle zeigt gängige Markdown-Formate, die Sie in die Beschreibung aufnehmen können:

Format Beschreibung Beispiel
Überschriften Platzieren Sie ein Nummernzeichen (#) und ein Leerzeichen vor Ihrem Text, um Überschriften zu formatieren. Die Ebene der Überschrift wird durch die Anzahl der Nummernzeichen bestimmt. #### Example H4 heading
Ungeordnete Listen Platzieren Sie ein einzelnes Sternchen (*) vor Ihrem Text. Wenn möglich, fügen Sie jedes Listenelement in eine separate Zeile ein. * First example

* Second example

Geordnete Listen Platzieren Sie für jeden Zeileneintrag eine Zahl 1 und einen Punkt (1.) vor Ihrem Text. Markdown erhöht automatisch die Listennummer. Wenn möglich, fügen Sie jedes Listenelement in eine separate Zeile ein. 1. First example

1. Second example

Mutig Platzieren Sie doppelte Sternchen vor und nach Ihrem Text. **bold text**
Kursivschrift Platzieren Sie einen Unterstrich vor und nach Ihrem Text. _italicized text_
Hyperlinks

Platzieren Sie den Linktext in Klammern vor der URL in Klammern. Oder geben Sie Ihre URL ein.

Links zu externen Websites werden in einem neuen Browser-Tab geöffnet. Links innerhalb des ExtraHop-Systems, wie z. B. Dashboards, werden im aktuellen Browser-Tab geöffnet.

[Visit our home page](https://www.extrahop.com)

https://www.extrahop.com

Anführungszeichen blockieren Platzieren Sie eine rechtwinklige Klammer und ein Leerzeichen vor Ihrem Text.

On the ExtraHop website:

> Access the live demo and review case studies.

Emojis Kopieren Sie ein Emoji-Bild und fügen Sie es in das Textfeld ein. Sehen Sie die Unicode-Emoji-Diagramm Website für Bilder.

Die Markdown-Syntax unterstützt keine Emoji-Shortcodes.

 
endTime: Zahl
Die Zeit, zu der die Erkennung endete, ausgedrückt in Millisekunden seit der Epoche.
id: Zahl
Die eindeutige Kennung für die Erkennung.
isCustom: Boolesch
Der Wert ist true wenn es sich bei der Erkennung um eine benutzerdefinierte Erkennung handelt, die durch einen Auslöser generiert wurde.
isEventCreate: Boolesch
Wenn der Wert wahr ist, wird DETECTION_UPDATE Das Ereignis wurde ausgeführt, als die Erkennung erstellt wurde. Wenn der Wert falsch ist, wird DETECTION_UPDATE Das Ereignis wurde ausgeführt, als die Erkennung aktualisiert wurde.
mitreCategories: Reihe von Objekten
Ein Array von Objekten, das die MITRE-Techniken und -Taktiken enthält, die mit der Erkennung verknüpft sind. Jedes Objekt enthält die folgenden Eigenschaften:
id
Die ID der MITRE-Technik oder -Taktik.
name
Der Name der MITRE-Technik oder -Taktik.
url
Die Webadresse der Technik oder Taktik auf der MITRE-Website.
participants: Reihe von Objekten
Eine Reihe von Teilnehmerobjekten, die mit der Erkennung verknüpft sind. Ein Teilnehmerobjekt enthält die folgenden Eigenschaften:
object: Objekt
Das Gerät, die Anwendung oder das IP-Adressobjekt, das dem Teilnehmer zugeordnet ist.
id: Zahl
Die ID des Teilnehmer.
role: Schnur
Die Rolle des Teilnehmer bei der Erkennung. Die folgenden Werte sind gültig:
  • offender
  • victim
properties: Objekt
Ein Objekt, das die Eigenschaften der Erkennung enthält. Nur integrierte Erkennungstypen enthalten Erkennungseigenschaften. Der Erkennungstyp bestimmt, welche Eigenschaften verfügbar sind.

Die Feldnamen des Objekts sind die Namen der Erkennungseigenschaften. Zum Beispiel umfasst der Erkennungstyp Anonymous FTP Auth Enabled die client_port Eigentum, auf das Sie mit dem folgenden Code zugreifen können:

Detection.properties.client_port

Um die Namen der Erkennungseigenschaften anzuzeigen, zeigen Sie die Erkennungstypen mit dem GET /detections/formats Betrieb in der ExtraHop REST-API.

Hinweis:Im Trigger-Editor können Sie gültige Erkennungseigenschaften mit der Funktion zur automatischen Vervollständigung anzeigen, wenn Sie eine Logik einbeziehen, die den Erkennungstyp bestimmt. Wenn der Auslöser beispielsweise den folgenden Code enthält und Sie nach „properties" einen Punkt eingeben, zeigt der Triggereditor die gültigen Eigenschaften für die Erkennung von Anonymous FTP Auth Enabled an:
if (Detection.type === 'anonymous_ftp') {
    Detection.properties
}
resolution: Schnur
Die Auflösung des Tickets, das mit der Erkennung verknüpft ist. Gültige Werte sind action_taken und no_action_taken.
riskScore: Nummer | null
Die Risikoscore der Erkennung.
startTime: Zahl
Die Zeit, zu der die Erkennung begann, ausgedrückt in Millisekunden seit der Epoche.
status: Schnur
Der Status des Tickets, das mit der Erkennung verknüpft ist. Gültige Werte sind acknowledged, new, in_progress, und closed.
ticketId: Schnur
Die ID des Tickets, das mit der Erkennung verknüpft ist.
title: Schnur
Der Titel der Erkennung.
type: Schnur
Die Art der Erkennung. Bei benutzerdefinierten Erkennungen wird der benutzerdefinierten Zeichenfolge „custom" vorangestellt . Wenn Sie beispielsweise angeben brute_force_attack in der commitDetection Funktion, der Erkennungstyp ist custom.brute_force_attack.
updateTime: Zahl
Das letzte Mal, dass die Erkennung aktualisiert wurde, ausgedrückt in Millisekunden seit der Epoche.

Device

Das Device Mit dieser Klasse können Sie Geräteattribute abrufen und benutzerdefinierte Metriken auf Geräteebene hinzufügen.

Methoden

Device(id: Schnur )
Konstruktor für das Device-Objekt, das einen Parameter akzeptiert, bei dem es sich um eine eindeutige 16-stellige Zeichenketten-ID handelt.

Wenn eine ID von einem vorhandenen Device-Objekt bereitgestellt wird, erstellt der Konstruktor eine Kopie dieses Objekts mit allen Objekteigenschaften, wie im folgenden Beispiel gezeigt:

myDevice = new Device(Flow.server.device.id);
debug("myDevice MAC: " + myDevice.hwaddr);

Metriken , die über eine an ein Geräteobjekt übergeben wurden metricAdd* Funktionen werden im Datenspeicher gespeichert

lookupByIP(addr: IP-Adresse | Schnur , vlan: Zahl ): Gerät
Gibt das L3-Gerät zurück, das der angegebenen IP-Adresse und VLAN-ID entspricht. Retouren null wenn kein Treffer gefunden wird.
addr: IP-Adresse | Schnur
Die IP-Adresse für das Gerät. Die IP-Adresse kann angegeben werden als IPAddress Objekt oder als Zeichenfolge.
vlan: Nummer
Die VLAN-ID für das Gerät. Gibt einen Standardwert von 0 wenn keine VLAN-ID angegeben wird oder wenn der Wert der devices_across_vlans Die Einstellungen sind eingestellt auf true in der Konfigurationsdatei ausführen.
lookupByMAC(addr: Schnur , vlan: Zahl ): Gerät
Gibt das L2-Gerät zurück, das der angegebenen MAC-Adresse und VLAN-ID entspricht. Retouren null wenn kein Treffer gefunden wird.
addr: Schnur
Die MAC-Adresse für das Gerät.
vlan: Zahl
Die VLAN-ID für das Gerät. Gibt einen Standardwert von 0 wenn keine VLAN-ID angegeben wird oder wenn der Wert der devices_across_vlans Die Einstellungen sind eingestellt auf true in der Konfigurationsdatei ausführen.
toString(): Schnur
Gibt das Device-Objekt als Zeichenfolge im folgenden Format zurück:
[object Device <discovery_id>]

Instanzmethoden

Die in diesem Abschnitt beschriebenen Methoden sind nur auf Instanzen der Device-Klasse vorhanden. Mit den meisten Methoden können Sie benutzerdefinierte Messwerte auf Geräteebene erstellen, wie im folgenden Beispiel gezeigt:

Flow.server.device.metricAddCount("slow_rsp", 1);
Hinweis:Ein Gerät kann manchmal als Client und manchmal als Server in einem Fluss agieren.
  • Rufen Sie eine Methode auf als Device.metricAdd* um Daten für beide Geräterollen zu sammeln.
  • Rufen Sie eine Methode auf als Flow.client.device.metricAdd* um nur Daten für die Client-Rolle zu sammeln, unabhängig davon, ob der Auslöser dem Client oder dem Server zugewiesen ist.
  • Rufen Sie eine Methode auf als Flow.server.device.metricAdd* um nur Daten für die Serverrolle zu sammeln, unabhängig davon, ob der Auslöser dem Client oder dem Server zugewiesen ist.
equals(device: Gerät ): Boolesch
Führt einen Gleichheitstest zwischen Device-Objekten durch, wobei device ist das Objekt, mit dem verglichen werden soll.
metricAddCount(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Metrik zählen. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Metrik für die Zählung der obersten Ebene.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailCount(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Metrik zählen anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Metrik für die Detailzählung.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDataset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Datensatz-Metrik. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Datensatzmetrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailDataset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Datensatz-Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Metrik für die Detailzählung.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDistinct(metric_name: Schnur , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes oberste Ebene unterschiedliche Zählmetrik. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Metrik für die eindeutige Anzahl auf oberster Ebene.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddDetailDistinct(metric_name: Schnur , key: Schnur | IP-Adresse , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes Detail unterschiedliche Zählmetrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der detaillierten Metrik für unterschiedliche Zählungen.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddMax(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene maximale Metrik. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der maximalen Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailMax(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail maximale Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der maximalen Detailmetrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSampleset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Stichprobensatz, Metrik. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Sampleset-Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSampleset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Stichprobensatz, Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSnap(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Snapshot-Metrik. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Snapshot-Metrik der obersten Ebene.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSnap(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Snapshot-Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrikdaten an das angegebene Gerät.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.

Instanzeigenschaften

Die folgenden Eigenschaften ermöglichen das Abrufen von Geräteattributen und sind nur auf Instanzen der Device-Klasse vorhanden.

cdpName: Schnur
Der dem Gerät zugeordnete CDP-Name, falls vorhanden.
dhcpName: Schnur
Das DHCP Name, der dem Gerät zugeordnet ist, falls vorhanden.
discoverTime: Zahl
Der Zeitpunkt, an dem das Gerät durch den Erfassungsvorgang zum letzten Mal entdeckt wurde (nicht die ursprüngliche Entdeckungszeit), ausgedrückt in Millisekunden seit der Epoche (1. Januar 1970). Zuvor erkannte Geräte können vom Erfassungsprozess wiedererkannt werden, wenn sie inaktiv sind und später wieder aktiv werden, oder wenn der Erfassungsvorgang neu gestartet wird.

Informationen darüber, wie ein Auslöser nur bei der ersten Erkennung eines Gerät ausgeführt werden soll, finden Sie unter NEW_DEVICE besprochene Ereignis in der Discover Klasse.

dnsNames: Reihe
Ein String-Array, das die mit dem Gerät verknüpften DNS-Namen auflistet, falls vorhanden.
hasTrigger: Boolesch
Der Wert ist true wenn ein Auslöser, der dem Device-Objekt zugewiesen ist, gerade läuft.

Wenn der Auslöser bei einem Ereignis ausgeführt wird, das mit einem verknüpft ist Flow Objekt, das hasTrigger Immobilienwert ist true auf mindestens einem der Device-Objekte im Fluss.

Das hasTrigger Diese Eigenschaft ist nützlich, um Geräterollen zu unterscheiden. Wenn beispielsweise einer Gruppe von Proxyservern ein Auslöser zugewiesen ist, können Sie leicht feststellen, ob ein Gerät als Client oder Server fungiert, anstatt nach IP-Adressen oder Geräte-IDs zu suchen, wie im folgenden Beispiel:

//Event: HTTP_REQUEST
if (Flow.server.device.hasTrigger) {
    // Incoming request
} else {
    // Outgoing request
}
hwaddr: Schnur
Die MAC-Adresse des Gerät, falls vorhanden.
id: Schnur
Die 16-stellige eindeutige ID des Geräts, wie sie im ExtraHop-System auf der Seite für dieses Gerät angezeigt wird.
ipaddrs: Reihe
Eine Reihe von IPAddress Objekte, die die bekannten IP-Adressen des Geräts darstellen. Für L3 Geräte, das Array enthält immer eine IP-Adresse.
isGateway: Boolesch
Der Wert ist true wenn das Gerät ein Gateway ist.
isL3: Boolesch
Der Wert ist true wenn das Gerät ein L3 Gerät für Kinder.
Wichtig:Wenn Sie das ExtraHop-System nicht aktiviert haben Geräte anhand der IP-Adresse erkennen, ist die Eigenschaft isL3 immer auf False gesetzt, da das System nicht zwischen untergeordneten L3-Geräten und übergeordneten L2-Geräten unterscheidet.
netbiosName: Schnur
Der NetBIOS-Name, der dem Gerät zugeordnet ist, falls vorhanden.
vlanId: Zahl
Die VLAN-ID für das Gerät.

Discover

Die Discover Mit dieser Klasse können Sie Informationen über neu entdeckte Geräte und Anwendungen abrufen.

Ereignisse

NEW_APPLICATION
Wird ausgeführt, wenn eine Anwendung zum ersten Mal erkannt wird. Dieses Ereignis verbraucht Erfassungsressourcen.
Hinweis:Sie können Trigger, die nur bei diesem Ereignis ausgeführt werden, nicht bestimmten Geräten oder Gerätegruppen zuweisen. Trigger, die bei diesem Ereignis ausgeführt werden, werden immer dann ausgeführt, wenn dieses Ereignis eintritt.
NEW_DEVICE
Wird ausgeführt, wenn Aktivität zum ersten Mal auf einem Gerät beobachtet wird. Dieses Ereignis verbraucht Erfassungsressourcen.
Hinweis:Sie können Trigger, die nur bei diesem Ereignis ausgeführt werden, nicht bestimmten Geräten oder Gerätegruppen zuweisen. Trigger, die bei diesem Ereignis ausgeführt werden, werden immer dann ausgeführt, wenn dieses Ereignis eintritt.

Eigenschaften

application: Bewerbung
Eine neu entdeckte Anwendung.

Gilt nur für NEW_APPLICATION Ereignisse.

device: Gerät
Ein neu entdecktes Gerät.

Gilt nur für NEW_DEVICE Ereignisse.

Hinweis:Sie können diese Immobilie nicht als Teilnehmer an der angeben commitDetection Funktion.

ExternalData

Die ExternalData class ermöglicht es Ihnen, Daten abzurufen, die von externen Quellen über die ExtraHop REST API an die Trigger-API gesendet wurden.

Ereignisse

EXTERNAL_DATA
Wird jedes Mal ausgeführt, wenn Daten über das ExtraHop-System an das ExtraHop-System gesendet werden POST-Trigger/externe Daten Betrieb.

Eigenschaften

body: Schnur
Die externen Daten, die an den Auslöser gesendet wurden.
type: Schnur
Ein Bezeichner, der die an den Auslöser gesendeten Daten beschreibt. Der Typ wird definiert, wenn die Daten an die ExtraHop REST API gesendet werden.

Flow

Flow bezieht sich auf eine Konversation zwischen zwei Endpunkten über einen Protokoll wie TCP, UDP oder ICMP. Das Flow Die Klasse bietet Zugriff auf Elemente dieser Konversationen, wie z. B. Endpunkt-IP-Adressen und Alter des Datenflusses. Die Flow-Klasse enthält auch einen Flow-Speicher, der entworfen wurde, um Objekte im selben Flow von der Anfrage zur Antwort zu übergeben.

Hinweis:Sie können die Flow-Klasse auf die meisten anwenden L7 Protokollereignisse, aber es wird bei Sitzungs- oder Datenspeicherereignissen nicht unterstützt.

Ereignisse

Wenn ein Fluss mit einem ExtraHop-überwachten verknüpft ist L7 Protokoll, Ereignisse, die mit dem Protokoll korrelieren, werden zusätzlich zu Flow-Ereignissen ausgeführt. Zum Beispiel ein Fluss, der verknüpft ist mit HTTP wird auch das ausführen HTTP_REQUEST und HTTP_RESPONSE Ereignisse.

FLOW_CLASSIFY
Wird immer dann ausgeführt, wenn das ExtraHop-System einen Fluss anfänglich als einem bestimmten Protokoll zugeordnet klassifiziert.
Hinweis:Für TCP-Flows ist der FLOW_CLASSIFY Ereignis läuft nach dem TCP_OPEN Ereignis.

Durch eine Kombination von L7 Nutzlastanalyse, Beobachtung von TCP-Handshakes und auf Portnummern basierende Heuristiken, FLOW_CLASSIFY Ereignis identifiziert das L7-Protokoll und die Geräterollen für die Endpunkte in einem Fluss, wie Client/server oder sender/empfänger.

Die Art eines Fluss kann sich im Laufe seiner Lebensdauer ändern, z. B. beim Tunneln über HTTP oder beim Wechsel von SMTP zu SMTP-TLS. In diesen Fällen FLOW_CLASSIFY läuft nach der Protokolländerung erneut.

Das FLOW_CLASSIFY Ereignis ist nützlich, um eine Aktion für einen Fluss zu initiieren, die auf frühester Kenntnis von Flow-Informationen wie dem L7-Protokoll, Client-/Server-IP-Adressen oder Sender-/Empfänger-Ports basiert.

Gemeinsame Maßnahmen eingeleitet am FLOW_CLASSIFY beinhaltet das Starten einer PCAP über den captureStart() Verfahren zum Zuordnen des Fluss zu einem Anwendungscontainer durch den addApplication() Methode.

Zusätzliche Optionen sind verfügbar, wenn Sie einen Auslöser erstellen, der für dieses Ereignis ausgeführt wird. In der Standardeinstellung FLOW_CLASSIFY wird nicht nach Ablauf eines Flows ausgeführt. Sie können dafür jedoch einen Auslöser konfigurieren, um Metriken für Flows zu sammeln, die vor dem Ablauf nicht klassifiziert wurden. siehe Erweiterte Trigger-Optionen für weitere Informationen.

FLOW_DETACH
Wird ausgeführt, wenn der Parser auf einen unerwarteten Fehler gestoßen ist oder der Speicher knapp wird, und folgt dem Fluss nicht mehr. Darüber hinaus kann ein Datenfeed von geringer Qualität mit fehlenden Paketen dazu führen, dass der Parser getrennt wird.

Das FLOW_DETACH Ereignis ist nützlich, um bösartige Inhalte zu erkennen, die gesendet wurden von Klienten und Server. Das Folgende ist ein Beispiel dafür, wie ein Auslöser Fehler erkennen kann DNS Antworten auf FLOW_DETACH Ereignisse:

if (event == "FLOW_DETACH" && Flow.l7proto== "DNS") {
    Flow.addApplication("Malformed DNS");
}
FLOW_RECORD
Ermöglicht das Aufzeichnen von Informationen über einen Fluss in bestimmten Intervallen. Nachher FLOW_CLASSIFY ist gelaufen, der FLOW_RECORD Die Ereignis findet jedes Jahr statt N Sekunden und immer dann, wenn sich ein Fluss schließt. Der Standardwert für N, das sogenannte Veröffentlichungsintervall, beträgt 30 Minuten; der Mindestwert beträgt 60 Sekunden. Sie können das Veröffentlichungsintervall in den Administrationseinstellungen festlegen.
FLOW_TICK
Ermöglicht das Aufzeichnen von Informationen über einen Fluss pro Datenmenge oder pro Spielzug. Das FLOW_TICK Die Ereignis findet an jedem statt FLOW_TURN oder alle 128 Pakete, je nachdem, was zuerst eintritt. Außerdem L2 Daten werden bei jedem zurückgesetzt FLOW_TICK Ereignis, mit dem Sie bei jedem Tick Daten zusammenfügen können. Wenn Sie den Durchsatz zählen, sammeln Sie Daten von FLOW_TICK Ereignisse, die vollständigere Metriken liefern als FLOW_TURN.

FLOW_TICK bietet eine Möglichkeit, in regelmäßigen Abständen nach bestimmten Bedingungen im Datenfluss zu suchen, z. B. Nullfenster und Nagle-Verzögerungen, und dann eine Aktion zu ergreifen, z. B. eine PCAP zu initiieren oder eine Syslog-Meldung zu senden.

Das Folgende ist ein Beispiel für FLOW_TICK:

log("RTT " + Flow.roundTripTime);
Remote.Syslog.info(
  " eh_event=FLOW_TICK" +
  " ClientIP="+Flow.client.ipaddr+
  " ServerIP="+Flow.server.ipaddr+
  " ServerPort="+Flow.server.port+
  " ServerName="+Flow.server.device.dnsNames[0]+
  " RTT="+Flow.roundTripTime);
FLOW_TURN
Läuft bei jedem TCP- oder UDP-Turn. Eine Kurve steht für einen vollen Zyklus eines Client Übertragung von Anforderungsdaten, gefolgt von einem Server, der eine Antwort überträgt.

FLOW_TURN entlarvt auch eine Turn Objekt.

Endpunkte

Flow bezieht sich auf eine Konversation zwischen zwei Endpunkten über ein Protokoll; ein Endpunkt kann eine der folgenden Komponenten sein:

  • client
  • server
  • sender
  • receiver

Die in diesem Abschnitt beschriebenen Methoden und Eigenschaften werden für einen bestimmten Endpunkt im Fluss aufgerufen oder abgerufen. Zum Beispiel, um auf das zuzugreifen device Eigenschaft von einem HTTP-Client, die Syntax ist Flow.client.device.

Der Endpunkt, den Sie angeben, hängt von den Ereignissen ab, die mit dem Auslöser verknüpft sind. Zum Beispiel die ACTIVEMQ_MESSAGE Ereignis unterstützt nur Sender- und Empfängerendpunkte. Die folgende Tabelle enthält eine Liste von Ereignissen, die einem Fluss zugeordnet werden können, sowie die Endpunkte, die für jedes Ereignis unterstützt werden:

Ereignis Kunde/Server Absender/ Empfänger
AAA_REQUEST Ja Ja
AAA_RESPONSE Ja Ja
AJP_REQUEST Ja Ja
AJP_RESPONSE Ja Ja
ACTIVEMQ_MESSAGE nein Ja
CIFS_REQUEST Ja Ja
CIFS_RESPONSE Ja Ja
DB_REQUEST Ja Ja
DB_RESPONSE Ja Ja
DHCP_REQUEST Ja Ja
DHCP_RESPONSE Ja Ja
DICOM_REQUEST Ja Ja
DICOM_RESPONSE Ja Ja
DNS_REQUEST Ja Ja
DNS_RESPONSE Ja Ja
FIX_REQUEST Ja Ja
FIX_RESPONSE Ja Ja
FLOW_CLASSIFY Ja nein
FLOW_DETACH Ja nein
FLOW_RECORD Ja nein
FLOW_TICK Ja nein
FLOW_TURN Ja nein
FTP_REQUEST Ja Ja
FTP_RESPONSE Ja Ja
HL7_REQUEST Ja Ja
HL7_RESPONSE Ja Ja
HTTP_REQUEST Ja Ja
HTTP_RESPONSE Ja Ja
IBMMQ_REQUEST Ja Ja
IBMMQ_RESPONSE Ja Ja
ICA_AUTH Ja nein
ICA_CLOSE Ja nein
ICA_OPEN Ja nein
ICA_TICK Ja nein
ICMP_MESSAGE nein Ja
KERBEROS_REQUEST Ja Ja
KERBEROS_RESPONSE Ja Ja
LDAP_REQUEST Ja Ja
LDAP_RESPONSE Ja Ja
MEMCACHE_REQUEST Ja Ja
MEMCACHE_RESPONSE Ja Ja
MOBUS_REQUEST Ja Ja
MODBUS_RESPONSE Ja Ja
MONGODB_REQUEST Ja Ja
MONGODB_RESPONSE Ja Ja
MSMQ_MESSAGE nein Ja
NFS_REQUEST Ja Ja
NFS_RESPONSE Ja Ja
POP3_REQUEST Ja Ja
POP3_RESPONSE Ja Ja
REDIS_REQUEST Ja Ja
REDIS_RESPONSE Ja Ja
RDP_CLOSE Ja nein
RDP_OPEN Ja nein
RDP_TICK Ja nein
RTCP_MESSAGE nein Ja
RTP_CLOSE nein Ja
RTP_OPEN nein Ja
RTP_TICK nein Ja
SCCP_MESSAGE nein Ja
SIP_REQUEST Ja Ja
SIP_RESPONSE Ja Ja
SMPP_REQUEST Ja Ja
SMPP_RESPONSE Ja Ja
SMTP_REQUEST Ja Ja
SMTP_RESPONSE Ja Ja
SSL_ALERT Ja Ja
SSL_CLOSE Ja nein
SSL_HEARTBEAT Ja Ja
SSL_OPEN Ja nein
SSL_PAYLOAD Ja Ja
SSL_RECORD Ja Ja
SSL_RENEGOTIATE Ja nein
TCP_CLOSE Ja nein
TCP_OPEN Ja nein
TCP_PAYLOAD Ja Ja
UDP_PAYLOAD Ja Ja
TELNET_MESSAGE Ja Ja
WEBSOCKET_OPEN Ja nein
WEBSOCKET_CLOSE Ja nein
WEBSOCKET_MESSAGE Ja Ja
Endpunktmethoden
commitRecord(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore auf einem FLOW_RECORD Ereignis. Datensatz-Commits werden nicht unterstützt auf FLOW_CLASSIFY, FLOW_DETACH, FLOW_TICK, oder FLOW_TURN Ereignisse.

Bei einem Fluss bewegt sich der Verkehr in jede Richtung zwischen zwei Endpunkten. Das commitRecord() Die Methode zeichnet nur Flussdetails in einer Richtung auf, z. B. vom Client zum Server. Um Details über den gesamten Fluss Datensatz, müssen Sie anrufen commitRecord() zweimal, einmal für jede Richtung, und geben Sie den Endpunkt in der Syntax an, z. B. Flow.client.commitRecord() und Flow.server.commitRecord().

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

Informationen zu den Standardeigenschaften, die dem Datensatzobjekt zugewiesen wurden, finden Sie in der record Eigentum unten.

Eigenschaften von Endpunkten
bytes: Zahl
Die Zahl der L4 Nutzdatenbytes, die von einem Gerät übertragen werden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.bytes oder Flow.receiver.bytes.

Zugriff nur auf FLOW_TICK, FLOW_TURN, oder FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

customDevices: Reihe
Eine Reihe von benutzerdefinierten Geräten im Fluss. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.customDevices oder Flow.receiver.customDevices.
device: Gerät
Das Device Objekt, das einem Gerät zugeordnet ist. Geben Sie die Geräterolle in der Syntax an. Um beispielsweise auf die MAC-Adresse des zuzugreifen Client Gerät, spezifizieren Flow.client.device.hwaddr.
equals: Boolesch
Führt einen Gleichheitstest durch zwischen Device Objekte.
dscp: Zahl
Die Zahl, die den letzten DSCP-Wert (Differentiated Services Code Point) des Flow-Pakets darstellt.

Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.dscp oder Flow.server.dscp.

dscpBytes: Reihe
Ein Array, das die Anzahl von enthält L2 Byte für einen bestimmten Differentiated Services Code Point (DSCP) -Wert, der von einem Gerät im Fluss übertragen wird. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.dscpBytes oder Flow.server.dscpBytes.

Der Wert ist Null für jeden Eintrag, der seit dem letzten keine Byte des spezifischen DSCP enthält. FLOW_TICK Ereignis.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

dscpName1: Schnur
Der Name, der dem von device1 im Fluss übertragenen DSCP-Wert zugeordnet ist. In der folgenden Tabelle werden bekannte DSCP-Namen aufgeführt:
Zahl Name
8 CS1
10 AF11
12 AF12
14 AF13
16 CS2
18 AF21
20 AF22
22 AF23
24 CS3
26 AF31
28 AF32
30 AF33
32 CS4
34 AF41
36 AF42
38 AF43
40 CS5
44 VA
46 EF
48 CS6
56 CS7
dscpName2: Zeichenfolge
Der Name, der dem DSCP-Wert zugeordnet ist, der von device2 im Fluss übertragen wird. In der folgenden Tabelle werden bekannte DSCP-Namen aufgeführt:
Zahl Name
8 CS1
10 AF11
12 AF12
14 AF13
16 CS2
18 AF21
20 AF22
22 AF23
24 CS3
26 AF31
28 AF32
30 AF33
32 CS4
34 AF41
36 AF42
38 AF43
40 CS5
44 VA
46 EF
48 CS6
56 CS7
dscpPkts: Reihe
Ein Array, das die Anzahl von enthält L2 Pakete für einen bestimmten Differentiated Services Code Point (DSCP) -Wert, der von einem Gerät im Datenfluss übertragen wird. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.dscpPkts oder Flow.server.dscpPkts.

Der Wert ist Null für jeden Eintrag, der seit dem letzten keine Pakete des spezifischen DSCP enthält. FLOW_TICK Ereignis.

Gilt nur für FLOW_TICK oder FLOW_TURN Ereignisse.

fragPkts: Zahl
Die Anzahl der Pakete, die sich aus der IP-Fragmentierung ergeben, die von einem Client- oder Servergerät im Fluss übertragen werden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.fragPkts oder Flow.server.fragPkts.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

ipaddr1: IP Adresse
Das IPAddress Objekt, das Gerät1 im Fluss zugeordnet ist.
equals: Boolesch
Führt einen Gleichheitstest durch zwischen IPAddress Objekte.
ipaddr2: IP Adresse
Das IPAddress Objekt, das Gerät2 im Fluss zugeordnet ist.
equals: Boolesch
Führt einen Gleichheitstest durch zwischen IPAddress Objekte.
isAborted: Boolesch
Der Wert ist true wenn ein TCP-Flow durch einen TCP-Reset (RST) abgebrochen wurde. Der Fluss kann durch ein Gerät abgebrochen werden. Geben Sie gegebenenfalls die Geräterolle in der Syntax an, z. B. Flow.client.isAborted oder Flow.receiver.isAborted.

Dieser Zustand kann in der TCP_CLOSE Ereignis und in allen betroffenen L7 Ereignisse (zum Beispiel HTTP_REQUEST oder DB_RESPONSE).

Hinweis:
  • Ein L4 Ein Abbruch tritt auf, wenn eine TCP-Verbindung mit einem RST statt mit einem ordnungsgemäßen Herunterfahren geschlossen wird.
  • Ein L7-Antwortabbruch tritt auf, wenn eine Verbindung während einer Antwort geschlossen wird. Dies kann an einem RST, einem ordnungsgemäßen FIN-Shutdown oder einem Ablauf liegen.
  • Ein L7-Anforderungsabbruch erfolgt, wenn eine Verbindung mitten in einer Anfrage geschlossen wird. Dies kann auch an einem RST, einem ordnungsgemäßen FIN-Shutdown oder einem Ablauf liegen.
isShutdown: Boolesch
Der Wert ist true wenn das Gerät das Herunterfahren der TCP-Verbindung initiiert hat. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.isShutdown oder Flow.receiver.isShutdown.
l2Bytes: Zahl
Die Zahl der L2 Byte, einschließlich der Ethernet-Header, die von einem Gerät im Datenfluss übertragen werden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.l2Bytes oder Flow.server.l2Bytes.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

nagleDelay: Zahl
Die Anzahl der Nagle-Verzögerungen, die mit einem Gerät im Fluss verbunden sind. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.nagleDelay oder Flow.server.nagleDelay.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

overlapFragPkts: Zahl
Die Anzahl der nicht identischen IP-Fragmentpakete mit überlappenden Daten, die von einem Gerät im Datenfluss übertragen werden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.overlapFragPkts oder Flow.server.overlapFragPkts.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

overlapSegments: Zahl
Die Anzahl der nicht identischen TCP-Segmente, die von einem Gerät im Fluss übertragen werden, wobei zwei oder mehr TCP-Segmente Daten für denselben Teil des Datenflusses enthalten. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.overlapSegments oder Flow.server.overlapSegments.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

payload: Puffer
Die Nutzlast Puffer einem Gerät im Fluss zugeordnet. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.payload oder Flow.receiver.payload.

Zugriff nur auf TCP_PAYLOAD, UDP_PAYLOAD, oder SSL_PAYLOAD Ereignisse; andernfalls tritt ein Fehler auf.

pkts: Zahl
Die Anzahl der Pakete, die von einem Gerät im Fluss übertragen werden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.pkts oder Flow.server.pkts.

Zugriff nur auf FLOW_TICK, FLOW_TURN, oder FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

port: Zahl
Die Portnummer, die einem Gerät im Fluss zugeordnet ist. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.port oder Flow.receiver.port.
rcvWndThrottle: Zahl
Die Anzahl der Empfangsfensterdrosseln, die von einem Gerät im Fluss gesendet wurden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.rcvWndThrottle oder Flow.server.rcvWndThrottle.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann Flow.commitRecord() auf einem FLOW_RECORD Ereignis. Das Record-Objekt stellt Daten aus einer einzigen Flussrichtung dar.

Das Standard-Datensatzobjekt kann die folgenden Eigenschaften enthalten:

  • age
  • bytes (L3)
    Hinweis:Diese Eigenschaft stellt die Gesamtzahl der Byte dar, die vom Flow zum Zeitpunkt der Ausführung des FLOW_RECORD-Ereignisses übertragen wurden. Das FLOW_RECORD-Ereignis wird im Verlauf jedes Flows mehrmals ausgeführt, sodass der Wert bei jeder Ausführung des Ereignis erhöht wird.
  • clientIsExternal
  • dscpName
  • first
  • firstPayloadBytes

    Eine hexadezimale Darstellung der ersten 16 Nutzdatenbytes im Datenfluss.

  • last
  • pkts
  • proto
  • receiverAddr
  • receiverIsExternal
  • receiverPort
  • roundTripTime

    Die letzte Hin- und Rückflugzeit (RTT) in diesem Fluss. Ein RTT ist die Zeit, die ein Gerät benötigt hat, um ein Paket zu senden und eine sofortige Bestätigung (ACK) zu empfangen.

  • senderAddr
  • senderIsExternal
  • senderPort
  • serverIsExternal
  • tcpFlags

Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.record oder Flow.server.record.

Greifen Sie nur auf das Datensatzobjekt zu FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

rto: Zahl
Die Zahl der Zeitüberschreitungen bei der erneuten Übertragung (RTOs), das einem Gerät im Fluss zugeordnet ist. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.rto oder Flow.server.rto.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

totalL2Bytes
Die Anzahl der L2-Byte, die von einem Gerät während des Datenflusses gesendet wurden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.totalL2Bytes oder Flow.server.totalL2Bytes.
totalL2Bytes1: Zahl
Die Anzahl der L2-Byte, die während des Datenflusses von Gerät1 gesendet wurden.
totalL2Bytes2: Zahl
Die Anzahl der L2-Byte, die während des Datenflusses von device2 gesendet wurden.
zeroWnd: Zahl
Die Anzahl der Nullfenster, die von einem Gerät im Fluss gesendet wurden. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.zeroWnd oder Flow.server.zeroWnd.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

Methoden

addApplication(name: Schnur , turnTiming: Boolesch ): Leere
Erstellt eine Anwendung mit dem angegebenen Namen und sammelt L2-L4-Metriken aus dem Fluss. Die Anwendung kann im ExtraHop-System angesehen werden und die Metriken werden auf einer L4-Seite in der Anwendung angezeigt. Ein Fluss kann zu einem bestimmten Zeitpunkt einer oder mehreren Anwendungen zugeordnet werden. Die von jeder Anwendung gesammelten L2-L4-Metriken sind dieselben.

Anrufen Flow.addApplication(name) auf einem FLOW_CLASSIFY Ereignis tritt häufig bei nicht unterstützten Protokollen auf. Für Datenflüsse auf unterstützten Protokollen mit L7 Ereignisse Auslöser, es wird empfohlen, den Application(name).commit() Methode, die einen größeren Satz von Protokollmetriken sammelt.

Das optionale turnTiming flag ist standardmäßig auf false gesetzt. Wenn der Wert auf „true" gesetzt ist, erfasst das ExtraHop-System zusätzliche Abbiege-Timing-Metriken für den Fluss. Wenn dieses Flag weggelassen wird, werden für die Anwendung keine Abbiegezeit-Metriken für den zugehörigen Fluss aufgezeichnet. Analysen zur Abbiegezeitanalyse L4 Verhalten , um L7-Verarbeitungszeiten abzuleiten, wenn das überwachte Protokoll einem Client-Anforderungs- und Server-Antwortmuster folgt und in dem der Client die erste Nachricht sendet. „Banner" -Protokolle (bei denen der Server die erste Nachricht sendet) und Protokolle, bei denen Daten gleichzeitig in beide Richtungen fließen, werden für die Abbiegezeitanalyse nicht empfohlen.

captureStart(name: Schnur , options: Objekt ): Schnur
Initiiert eine Precision Packet Capture (PPCAP) für den Fluss und gibt eine eindeutige Kennung der PCAP im Format einer Dezimalzahl als Zeichenfolge zurück. kehrt zurück null wenn die PCAP nicht gestartet werden kann.
name: Schnur
Der Name der Paketerfassungsdatei.
  • Die maximale Länge beträgt 256 Zeichen
  • Für jeden Fluss wird eine separate Erfassung erstellt.
  • Erfassungsdateien mit demselben Namen werden durch Zeitstempel unterschieden.
options: Objekt
Die im Capture-Objekt enthaltenen Optionen. Lassen Sie eine der Optionen weg, um eine unbegrenzte Größe für diese Option anzugeben. Alle Optionen gelten für den gesamten Fluss, mit Ausnahme der „Lookback" -Optionen, die nur für den Teil des Fluss gelten, der vor dem Triggerereignis lag, das die PCAP gestartet hat.
maxBytes: Zahl
Die maximale Gesamtanzahl von Byte.
maxBytesLookback: Zahl
Die maximale Gesamtanzahl von Byte aus dem Lookback-Puffer. Der Lookback-Puffer bezieht sich auf Pakete, die vor dem Aufruf von erfasst wurden Flow.captureStart().
maxDurationMSec: Zahl
Die maximale Dauer der PCAP, ausgedrückt in Millisekunden.
maxPackets: Zahl
Die maximale Gesamtanzahl von Paketen. Der Maximalwert könnte überschritten werden , wenn Triggerlast ist schwer.
maxPacketsLookback: Zahl
Die maximale Anzahl von Paketen aus dem Lookback-Puffer. Der Lookback-Puffer bezieht sich auf Pakete, die vor dem Aufruf von erfasst wurden Flow.captureStart().

Das Folgende ist ein Beispiel für Flow.captureStart():

// EVENT: HTTP_REQUEST
// capture facebook HTTP traffic flows
if (HTTP.uri.indexOf("www.facebook.com") !== -1) {
   var name = "facebook-" + HTTP.uri;
   //packet capture options: capture 20 packets, up to 10 from the lookback buffer
   var opts = {
      maxPackets: 20,
      maxPacketsLookback: 10
   };
   Flow.captureStart(name, opts);
}
Hinweis:
  • Das Flow.captureStart() Für den Funktionsaufruf benötigen Sie eine Lizenz für die präzise PCAP.
  • Sie können die Anzahl der Byte pro Paket (Snaplen) angeben, die Sie erfassen möchten, wenn Sie den Auslöser im ExtraHop-System konfigurieren. Diese Option ist nur bei einigen Veranstaltungen verfügbar. siehe Erweiterte Trigger-Optionen für weitere Informationen.
  • Auf ExtraHop Performance-Systemen sind die erfassten Dateien in den Administrationseinstellungen verfügbar. Auf RevealX-Systemen sind erfasste Dateien auf der Seite Pakete im ExtraHop-System verfügbar.
  • Wenn auf ExtraHop Performance-Systemen die Precision-Paketerfassungsdiskette voll ist, werden keine neuen Captures aufgezeichnet, bis der Benutzer die Dateien manuell löscht. Auf Reveal-Systemen werden ältere Paketerfassungen gelöscht, wenn die Precision PCAP Capture-Festplatte voll ist, damit das System weiterhin neue Paketerfassungen aufzeichnen kann.
  • Die maximale Länge der Zeichenfolge für Dateinamen beträgt 256 Zeichen. Wenn der Name 256 Zeichen überschreitet, wird er gekürzt und eine Warnmeldung wird im Debug-Log angezeigt, aber der Auslöser wird weiterhin ausgeführt.
  • Die Größe der Aufnahmedatei ist das Maximum, das zuerst erreicht wird zwischen maxPackets und maxBytes Optionen.
  • Die Größe des Capture-Lookback-Puffers ist das Maximum, das zuerst erreicht wird zwischen den maxPacketsLookback und maxBytesLookback Optionen.
  • Jeder hat bestanden max* Der Parameter wird bis zur nächsten Paketgrenze erfasst.
  • Wenn die PCAP bereits im aktuellen Fluss gestartet wurde, Flow.captureStart() Aufrufe führen zu einer Warnung, die im Debug-Log sichtbar ist, aber der Auslöser wird weiterhin ausgeführt.
  • Es gibt maximal 128 gleichzeitige Paketerfassungen im System. Wenn dieses Limit erreicht ist, werden nachfolgende Aufrufe an Flow.captureStart() generiert eine Warnung, die im Debug-Log sichtbar ist, aber der Auslöser wird weiterhin ausgeführt.
captureStop(): Boolesch
Stoppt eine PCAP, die im aktuellen Datenfluss ausgeführt wird.
commitRecord1(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore, der Daten darstellt, die gesendet wurden von device1 in einer einzigen Strömungsrichtung.

Sie können diese Methode nur aufrufen FLOW_RECORD Ereignisse, und jeder eindeutige Datensatz wird für integrierte Datensätze nur einmal festgeschrieben.

Informationen zu den Eigenschaften, die dem Datensatzobjekt zugewiesen wurden, finden Sie in der record Eigentum unten.

commitRecord2(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore, der Daten darstellt, die gesendet wurden von device2 in einer einzigen Strömungsrichtung.

Sie können diese Methode nur aufrufen FLOW_RECORD Ereignisse, und jeder eindeutige Datensatz wird für integrierte Datensätze nur einmal festgeschrieben.

Informationen zu den Eigenschaften, die dem Datensatzobjekt zugewiesen wurden, finden Sie in der record Eigentum unten.

findCustomDevice(deviceID: Schnur ): Gerät
Gibt eine einzelne zurück Device Objekt, das dem angegebenen DeviceID-Parameter entspricht, wenn sich das Gerät auf beiden Seiten des Fluss befindet. kehrt zurück null wenn kein entsprechendes Gerät gefunden wird.
getApplications(): Schnur
Ruft alle mit dem Fluss verknüpften Anwendungen ab.

Eigenschaften

Die in diesem Abschnitt erläuterten Eigenschaften und Methoden des Flow-Objekts sind für jeden verfügbar. L7 Auslöser ein mit dem Fluss verbundenes Ereignis aus.

Standardmäßig verwendet das ExtraHop-System eine lose initiierte Protokollklassifizierung, sodass es versucht, Datenflüsse auch nach dem Verbindungsaufbau zu klassifizieren. Die lose Initiierung kann für Ports deaktiviert werden, die nicht immer den Protokollverkehr übertragen (z. B. der Platzhalterport 0). Für solche Ströme device1, port1, und ipaddr1 das Gerät mit der numerisch niedrigeren IP-Adresse darstellen und device2, port2, und ipaddr2 stellen das Gerät mit der numerisch höheren IP-Adresse dar.

age: Zahl
Die seit der Initiierung des Fluss verstrichene Zeit, ausgedrückt in Sekunden.
bytes1: Zahl
Die Zahl der L4 Nutzdatenbytes, die von einem von zwei Geräten im Fluss übertragen werden; das andere Gerät wird dargestellt durch bytes2. Das Gerät, dargestellt durch bytes1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK, FLOW_TURN, oder FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

bytes2: Zahl
Die Zahl der L4 Nutzdatenbytes, die von einem von zwei Geräten im Fluss übertragen werden; das andere Gerät wird dargestellt durch bytes1. Das Gerät, dargestellt durch bytes2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK, FLOW_TURN, oder FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

customDevices1: Reihe
Eine Reihe von benutzerdefinierten Device Objekte in einem Fluss. Benutzerdefinierte Geräte auf der anderen Seite des Fluss sind verfügbar, indem Sie darauf zugreifen customDevices2. Das Gerät, dargestellt durch customDevices1 bleibt für den Fluss konsistent.
customDevices2: Reihe
Eine Reihe von benutzerdefinierten Device Objekte in einem Fluss. Benutzerdefinierte Geräte auf der anderen Seite des Fluss sind verfügbar, indem Sie darauf zugreifen customDevices1. Das Gerät, dargestellt durch customDevices2 bleibt für den Fluss konsistent.
device1: Gerät
Das Device Objekt, das einem von zwei Geräten im Fluss zugeordnet ist; das andere Gerät wird dargestellt durch device2. Das Gerät, dargestellt durch device1 bleibt für den Fluss konsistent. Zum Beispiel Flow.device1.hwaddr greift im Fluss auf die MAC-Adressen dieses Gerät zu.
equals: Boolesch
Führt einen Gleichheitstest durch zwischen Device Objekte.
device2: Gerät
Das Device Objekt, das einem von zwei Geräten im Fluss zugeordnet ist; das andere Gerät wird dargestellt durch device1. Das Gerät, dargestellt durch device2 bleibt für den Fluss konsistent. Zum Beispiel Flow.device2.hwaddr greift im Fluss auf die MAC-Adressen dieses Gerät zu.
equals: Boolesch
Führt einen Gleichheitstest durch zwischen Device Objekte.
dscp1: Zahl
Die Zahl, die den letzten Differentiated Services Code Point (DSCP) -Wert darstellt, der von einem von zwei Geräten im Fluss übertragen wurde; das andere Gerät wird dargestellt durch dscp2. Das Gerät, dargestellt durch dscp1 bleibt für den Fluss konsistent.
dscp2: Zahl
Die L-Nummer, die den letzten Differentiated Services Code Point (DSCP) -Wert darstellt, der von einem von zwei Geräten im Fluss übertragen wurde; das andere Gerät wird dargestellt durch dscp1. Das Gerät, dargestellt durch dscp2 bleibt für den Fluss konsistent.
dscpBytes1: Reihe
Ein Array, das die Anzahl von enthält L2 Byte für einen bestimmten Differentiated Services Code Point (DSCP) -Wert, der von einem von zwei Geräten im Fluss übertragen wird; das andere Gerät wird dargestellt durch dscpBytes2. Das Gerät, dargestellt durch dscpBytes1 bleibt für den Fluss konsistent.

Der Wert ist Null für jeden Eintrag, der seit dem letzten keine Byte des spezifischen DSCP enthält. FLOW_TICK Ereignis.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

dscpBytes2: Reihe
Ein Array, das die Anzahl von enthält L2 Byte für einen bestimmten Differentiated Services Code Point (DSCP) -Wert, der von einem von zwei Geräten im Fluss übertragen wird; das andere Gerät wird dargestellt durch dscpBytes1. Das Gerät, dargestellt durch dscpBytes2 bleibt für den Fluss konsistent.

Der Wert ist Null für jeden Eintrag, der seit dem letzten keine Byte des spezifischen DSCP enthält. FLOW_TICK Ereignis.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

dscpName1: Schnur
Der Name, der dem DSCP-Wert zugeordnet ist, der von einem von zwei Geräten im Fluss übertragen wird; das andere Gerät wird dargestellt durch dscpName2. Das Gerät, dargestellt durch dscpName1 bleibt für den Fluss konsistent.

Sehen Sie die dscpName Eigentum in der Endpunkte Abschnitt für eine Liste der unterstützten DSCP-Codenamen.

dscpName2: Schnur
Der Name, der dem DSCP-Wert zugeordnet ist, der von einem von zwei Geräten im Fluss übertragen wird; das andere Gerät wird dargestellt durch dscpName1. Das Gerät, dargestellt durch dscpName2 bleibt für den Fluss konsistent.

Sehen Sie die dscpName Eigentum in der Endpunkte Abschnitt für eine Liste der unterstützten DSCP-Codenamen.

dscpPkts1: Reihe
Ein Array, das die Anzahl von enthält L2 Pakete für einen bestimmten Differentiated Services Code Point (DSCP) -Wert, der von einem von zwei Geräten im Datenfluss übertragen wird; das andere Gerät wird dargestellt durch dscpPkts2. Das Gerät, dargestellt durch dscpPkts1 bleibt für den Fluss konsistent.

Der Wert ist Null für jeden Eintrag, der seit dem letzten keine Pakete des spezifischen DSCP enthält. FLOW_TICK Ereignis.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

dscpPkts2: Reihe
Ein Array, das die Anzahl von enthält L2 Pakete für einen bestimmten Differentiated Services Code Point (DSCP) -Wert, der von einem von zwei Geräten im Datenfluss übertragen wird; das andere Gerät wird dargestellt durch dscpPkts1. Das Gerät, dargestellt durch dscpPkts2 bleibt für den Fluss konsistent.

Der Wert ist Null für jeden Eintrag, der seit dem letzten keine Pakete des spezifischen DSCP enthält. FLOW_TICK Ereignis.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

fragPkts1: Zahl
Die Anzahl der Pakete, die aus der IP-Fragmentierung resultieren und von einem von zwei Geräten im Datenfluss übertragen werden; das andere Gerät wird dargestellt durch fragPkts2. Das Gerät, dargestellt durch fragPkts1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

fragPkts2: Zahl
Die Anzahl der Pakete, die aus der IP-Fragmentierung resultieren und von einem von zwei Geräten im Datenfluss übertragen werden; das andere Gerät wird dargestellt durch fragPkts1. Das Gerät, dargestellt durch fragPkts2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

id: Schnur
Die eindeutige Kennung eines Flow-Datensatzes.
ipaddr: IP Adresse
DasIPAddress Objekt, das einem Gerät im Fluss zugeordnet ist. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.ipaddr oder Flow.receiver.ipaddr.
equals: Boolesch
Führt einen Gleichheitstest durch zwischen IPAddress Objekte.
ipproto: Schnur
Das mit dem Fluss verknüpfte IP-Protokoll, z. B. TCP oder UDP.
ipver: Schnur
Die dem Fluss zugeordnete IP-Version, z. B. IPv4 oder IPv6.
isAborted: Boolesch
Der Wert ist true wenn ein TCP-Flow durch einen TCP-Reset (RST) abgebrochen wurde. Der Fluss kann durch ein Gerät abgebrochen werden. Geben Sie gegebenenfalls die Geräterolle in der Syntax an, z. B. Flow.client.isAborted oder Flow.receiver.isAborted.

Dieser Zustand kann in der TCP_CLOSE Ereignis und in allen betroffenen L7 Ereignisse (zum Beispiel HTTP_REQUEST oder DB_RESPONSE).

Hinweis:
  • Ein L4 Ein Abbruch tritt auf, wenn eine TCP-Verbindung mit einem RST statt mit einem ordnungsgemäßen Herunterfahren geschlossen wird.
  • Ein L7-Antwortabbruch tritt auf, wenn eine Verbindung während einer Antwort geschlossen wird. Dies kann an einem RST, einem ordnungsgemäßen FIN-Shutdown oder einem Ablauf liegen.
  • Ein L7-Anforderungsabbruch erfolgt, wenn eine Verbindung mitten in einer Anfrage geschlossen wird. Dies kann auch an einem RST, einem ordnungsgemäßen FIN-Shutdown oder einem Ablauf liegen.
isExpired: Boolesch
Der Wert ist true wenn der Fluss zum Zeitpunkt des Ereignisses abgelaufen ist.
isShutdown: Boolesch
Der Wert ist true wenn das Gerät das Herunterfahren der TCP-Verbindung initiiert hat. Geben Sie die Geräterolle in der Syntax an, z. B. Flow.client.isShutdown oder Flow.receiver.isShutdown.
l2Bytes1: Zahl
Die Zahl der L2 Byte, einschließlich der Ethernet-Header, werden von einem von zwei Geräten im Datenfluss übertragen; das andere Gerät wird dargestellt durch l2Bytes2. Das Gerät, dargestellt durch l2Bytes1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

l2Bytes2: Zahl
Die Zahl der L2 Byte, einschließlich der Ethernet-Header, werden von einem von zwei Geräten im Datenfluss übertragen; das andere Gerät wird dargestellt durch l2Bytes1. Das Gerät, dargestellt durch l2Bytes2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

l7proto: Schnur
Das mit dem Fluss verknüpfte L7-Protokoll. Bei bekannten Protokollen gibt die Eigenschaft eine Zeichenfolge zurück, die den Protokollnamen darstellt, z. B. HTTP, DHCP, Memcache. Für weniger bekannte Protokolle gibt die Eigenschaft eine Zeichenfolge zurück, die formatiert ist als ipproto:porttcp:13724 oder udp:11258 Für benutzerdefinierte Protokollnamen gibt die Eigenschaft eine Zeichenfolge zurück, die den Namen darstellt, der im Abschnitt Protokollklassifizierung in den Administrationseinstellungen festgelegt wurde.

Diese Eigenschaft ist nicht gültig während TCP_OPEN Ereignisse.

nagleDelay1: Zahl
Die Anzahl der Nagle-Verzögerungen, die einem von zwei Geräten im Fluss zugeordnet sind; das andere Gerät wird dargestellt durch nagleDelay2. Das Gerät, dargestellt durch nagleDelay1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

nagleDelay2: Zahl
Die Anzahl der Nagle-Verzögerungen, die einem von zwei Geräten im Fluss zugeordnet sind; das andere Gerät wird dargestellt durch nagleDelay1. Das Gerät, dargestellt durch nagleDelay2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

overlapFragPkts1: Zahl
Die Anzahl der nicht identischen IP-Fragmentpakete, die von einem von zwei Geräten im Fluss übertragen werden; das andere Gerät wird dargestellt durch overlapFragPkts2. Das Gerät, dargestellt durch overlapFragPkts1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

overlapFragPkts2: Zahl
Die Anzahl der nicht identischen IP-Fragmentpakete, die von einem von zwei Geräten im Fluss übertragen werden; das andere Gerät wird dargestellt durch overlapFragPkts1. Das Gerät, dargestellt durch overlapFragPkts2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

overlapSegments1: Zahl
Die Anzahl der nicht identischen TCP-Segmente, bei denen zwei oder mehr Segmente Daten für denselben Teil des Fluss enthalten. Die TCP-Segmente werden von einem von zwei Geräten im Fluss übertragen; das andere Gerät wird dargestellt durch overlapSegments2. Das Gerät, dargestellt durch overlapSegments1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

overlapSegments2: Zahl
Die Anzahl der nicht identischen TCP-Segmente, bei denen zwei oder mehr Segmente Daten für denselben Teil des Fluss enthalten. Die TCP-Segmente werden von einem von zwei Geräten im Fluss übertragen; das andere Gerät wird dargestellt durch overlapSegments1. Das Gerät, dargestellt durch overlapSegments2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

payload1: Puffer
Die Nutzlast Puffer einem von zwei Geräten im Fluss zugeordnet; das andere Gerät wird dargestellt durch payload2. Das Gerät, dargestellt durch payload1 bleibt für den Fluss konsistent.

Zugriff nur auf TCP_PAYLOAD, UDP_PAYLOAD, und SSL_PAYLOAD Ereignisse; andernfalls tritt ein Fehler auf.

payload2: Puffer
Die Nutzlast Puffer einem von zwei Geräten im Fluss zugeordnet; das andere Gerät wird dargestellt durch payload1. Das Gerät, dargestellt durch payload2 bleibt für den Fluss konsistent.

Zugriff nur auf TCP_PAYLOAD, UDP_PAYLOAD, oder SSL_PAYLOAD Ereignisse; andernfalls tritt ein Fehler auf.

pkts1: Zahl
Die Anzahl der Pakete, die von einem von zwei Geräten im Datenfluss übertragen werden; das andere Gerät wird dargestellt durch pkts2. Das Gerät, dargestellt durch pkts1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK, FLOW_TURN, oder FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

pkts2: Zahl
Die Anzahl der Pakete, die von einem von zwei Geräten im Datenfluss übertragen werden; das andere Gerät wird dargestellt durch pkts1. Das Gerät, dargestellt durch pkts2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK, FLOW_TURN, oder FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

port1: Zahl
Die Portnummer, die einem von zwei Geräten in einem Fluss zugeordnet ist; das andere Gerät wird dargestellt durch port2. Das Gerät, dargestellt durch port1 bleibt für den Fluss konsistent.
port2: Zahl
Die Portnummer, die einem von zwei Geräten in einem Fluss zugeordnet ist; das andere Gerät wird dargestellt durch port1. Das Gerät, dargestellt durch port2 bleibt für den Fluss konsistent.
rcvWndThrottle1: Zahl
Die Anzahl der Empfangsfensterdrosseln, die von einem von zwei Geräten im Fluss gesendet wurden; das andere Gerät wird dargestellt durch rcvWndThrottle2. Das Gerät, dargestellt durch rcvWndThrottle1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

rcvWndThrottle2: Zahl
Die Anzahl der Empfangsfensterdrosseln, die von einem von zwei Geräten im Fluss gesendet wurden; das andere Gerät wird dargestellt durch rcvWndThrottle1. Das Gerät, dargestellt durch rcvWndThrottle2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

record1: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann Flow.commitRecord1() auf einem FLOW_RECORD Ereignis.

Das Objekt stellt den Verkehr dar, der von einem von zwei Geräten im Datenfluss in eine einzige Richtung gesendet wird. Das andere Gerät wird durch das record2 Eigentum. Das Gerät, dargestellt durch den record1 Die Eigenschaft bleibt für den Fluss konstant.

Greifen Sie nur auf das Datensatzobjekt zu FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

Das Standard-Datensatzobjekt kann die folgenden Eigenschaften enthalten:

  • age
  • bytes (L3)
  • clientIsExternal
  • dscpName
  • first
  • last
  • pkts
  • proto
  • receiverAddr
  • receiverIsExternal
  • receiverPort
  • roundTripTime

    Die letzte Hin- und Rückflugzeit (RTT) in diesem Fluss. Ein RTT ist die Zeit, die ein Gerät benötigt hat, um ein Paket zu senden und eine sofortige Bestätigung (ACK) zu empfangen.

  • senderAddr
  • senderIsExternal
  • senderPort
  • serverIsExternal
  • tcpOrigin

    Dieses Datensatzfeld ist nur enthalten, wenn der Datensatz den von einem Client oder Absendergerät gesendeten Verkehr darstellt.

  • tcpFlags
record2: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann Flow.commitRecord2() auf einem FLOW_RECORD Ereignis.

Das Objekt stellt den Verkehr dar, der von einem von zwei Geräten im Datenfluss in eine einzige Richtung gesendet wird. Das andere Gerät wird durch das record1 Eigentum. Das Gerät, dargestellt durch den record2 Die Eigenschaft bleibt für den Fluss konstant.

Greifen Sie nur auf das Datensatzobjekt zu FLOW_RECORD Ereignisse; andernfalls tritt ein Fehler auf.

Das Standard-Datensatzobjekt kann die folgenden Eigenschaften enthalten:

  • age
  • bytes (L3)
  • clientIsExternal
  • dscpName
  • first
  • last
  • pkts
  • proto
  • receiverAddr
  • receiverIsExternal
  • receiverPort
  • roundTripTime

    Die letzte Hin- und Rückflugzeit (RTT) in diesem Fluss. Ein RTT ist die Zeit, die ein Gerät benötigt hat, um ein Paket zu senden und eine sofortige Bestätigung (ACK) zu empfangen.

  • senderAddr
  • senderIsExternal
  • senderPort
  • serverIsExternal
  • tcpOrigin

    Dieses Datensatzfeld ist nur enthalten, wenn der Datensatz den von einem Client oder Absendergerät gesendeten Verkehr darstellt.

  • tcpFlags
roundTripTime: Zahl
Die mittlere Roundtrip-Zeit (RTT) für die Dauer des Ereignis, ausgedrückt in Millisekunden. Der Wert ist NaN wenn es keine RTT-Samples gibt.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

rto1: Zahl
Die Zahl der Zeitüberschreitungen bei der erneuten Übertragung (RTOs), das einem von zwei Geräten im Fluss zugeordnet ist; das andere Gerät wird dargestellt durch rto2. Das Gerät, dargestellt durch rto1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

rto2: Zahl
Die Zahl der Zeitüberschreitungen bei der erneuten Übertragung (RTOs), das einem von zwei Geräten im Fluss zugeordnet ist; das andere Gerät wird dargestellt durch rto1. Das Gerät, dargestellt durch rto2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

store: Objekt
Der Flow-Speicher ist so konzipiert, dass er Objekte im selben Flow von der Anfrage zur Antwort weiterleitet. Das store object ist eine Instanz eines leeren JavaScript-Objekts. Objekte können als Eigenschaften an den Speicher angehängt werden, indem der Eigenschaftsschlüssel und der Eigenschaftswert definiert werden. Zum Beispiel:
Flow.store.myobject = "myvalue";

Für Ereignisse , die im selben Fluss auftreten, können Sie den Flow-Store anstelle der Sitzungstabelle verwenden , um Informationen gemeinsam zu nutzen. Zum Beispiel:

// request 
Flow.store.userAgent = HTTP.userAgent;  

// response 
var userAgent = Flow.store.userAgent;
Wichtig:Die Werte Fluss Flow-Speichers bleiben für alle Anfragen und Antworten bestehen, die in diesem Flow ausgeführt werden. Bei der Arbeit mit dem Flow-Store empfiehlt es sich, die Flow-Store-Variable auf zu setzen null wenn sein Wert nicht an die nächste Anfrage oder Antwort weitergegeben werden soll. Diese Vorgehensweise hat den zusätzlichen Vorteil, dass der Flow-Store-Speicher geschont wird.

Die meisten Fluss Store-Trigger sollten eine ähnliche Struktur wie das folgende Beispiel haben:

if (event === 'DB_REQUEST') {
                 if (DB.statement) {
                 Flow.store.stmt = DB.statement; 
} else {
                 Flow.store.stmt = null; 
} 
} 
else if (event === 'DB_RESPONSE') {
        var stmt = Flow.store.stmt;
        Flow.store.stmt = null;
        if (stmt) {
                 // Do something with 'stmt';   
                 // for example, commit a metric  
        } 
}
Hinweis:Da DHCP-Anfragen häufig in anderen Abläufen als die entsprechenden DHCP-Antworten erfolgen, empfehlen wir, DHCP-Anforderungs- und Antwortinformationen zu kombinieren, indem Sie DHCP-Transaktions-IDs in der Sitzungstabelle speichern. Beispielsweise erstellt der folgende Triggercode eine Metrik, die verfolgt, wie viele DHCP-Discover-Nachrichten eine entsprechende DHCP-Angebotsnachricht erhalten haben:
if (event === 'DHCP_REQUEST'){
    var opts = {
        expire: 30
    };
    Session.add(DHCP.txId.toString(), DHCP.msgType, opts);
}
else if (event === 'DHCP_RESPONSE'){
    var reqMsgType = Session.lookup(DHCP.txId.toString());
    if (reqMsgType && DHCP.msgType === 'DHCPOFFER') {
        Device.metricAddCount('dhcp-discover-offer', 1);
    }
}
tcpOrigin: IP-Adresse | Null
Die ursprüngliche IP-Adresse des Client oder Absenders, wenn sie von einem Netzwerk-Proxy in TCP-Option 28 angegeben wurde.
vlan: Zahl
Die dem Fluss zugeordnete VLAN-Nummer. Wenn kein VLAN-Tag vorhanden ist, wird dieser Wert auf gesetzt 0.
vxlanVNI: Zahl
Die dem Fluss zugeordnete VXLAN-Netzwerkkennnummer. Wenn kein VXLAN-Tag vorhanden ist, wird dieser Wert auf gesetzt NaN .
zeroWnd1: Zahl
Die Anzahl der Nullfenster, die einem von zwei Geräten im Fluss zugeordnet sind; das andere Gerät wird dargestellt durch zeroWnd2. Das Gerät, dargestellt durch zeroWnd1 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

zeroWnd2: Zahl
Die Anzahl der Nullfenster, die einem von zwei Geräten im Fluss zugeordnet sind; das andere Gerät wird dargestellt durch zeroWnd1. Das Gerät, dargestellt durch zeroWnd2 bleibt für den Fluss konsistent.

Zugriff nur auf FLOW_TICK oder FLOW_TURN Ereignisse; andernfalls tritt ein Fehler auf.

FlowInterface

Das FlowInterface Mit der Klasse können Sie Flow-Schnittstellenattribute abrufen und benutzerdefinierte Metriken auf Schnittstellenebene hinzufügen.

Methoden

FlowInterface(id: Schnur )
Ein Konstruktor für das FlowInterface-Objekt, der eine Flow-Schnittstellen-ID akzeptiert. Ein Fehler tritt auf, wenn die Flow-Interface-ID auf dem ExtraHop-System nicht existiert.

Instanzmethoden

Mit den Methoden in diesem Abschnitt können Sie benutzerdefinierte Metriken auf einer Flussschnittstelle erstellen. Die Methoden sind nur auf Instanzen von vorhanden NetFlow Klasse. Die folgende Anweisung sammelt beispielsweise Metriken aus dem NetFlow-Verkehr auf der Eingangsschnittstelle:

NetFlow.ingressInterface.metricAddCount("slow_rsp", 1);

Sie können die FlowInterface-Methode jedoch als statische Methode aufrufen NETFLOW_RECORD Ereignisse. Die folgende Anweisung sammelt beispielsweise Metriken aus dem NetFlow-Verkehr sowohl auf der Eingangs- als auch auf der Ausgangsschnittstelle:

FlowInterface.metricAddCount("slow_rsp", 1);
metricAddCount(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Metrik zählen. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Metrik für die Zählung der obersten Ebene.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailCount(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Metrik zählen anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Metrik für die Detailzählung.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDataset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Datensatz-Metrik. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Datensatzmetrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailDataset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Datensatz-Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Metrik für die Detailzählung.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDistinct(metric_name: Schnur , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes oberste Ebene unterschiedliche Zählmetrik. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Metrik für die eindeutige Anzahl auf oberster Ebene.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddDetailDistinct(metric_name: Schnur , key: Schnur | IP-Adresse , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes Detail unterschiedliche Zählmetrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der detaillierten Metrik für unterschiedliche Zählungen.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddMax(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene maximale Metrik. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der maximalen Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailMax(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail maximale Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der maximalen Detailmetrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSampleset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Stichprobensatz, Metrik. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Sampleset-Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSampleset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Stichprobensatz, Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSnap(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Snapshot-Metrik. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Snapshot-Metrik der obersten Ebene.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSnap(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Snapshot-Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an die angegebene Flussschnittstelle.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.

Instanzeigenschaften

id: Schnur
Eine Zeichenfolge, die das Flussschnittstelle eindeutig identifiziert.
number: Zahl
Die vom NetFlow-Datensatz gemeldete Flow-Schnittstellennummer.

FlowNetwork

Das FlowNetwork Mit dieser Klasse können Sie Flow-Netzwerk-Attribute abrufen und benutzerdefinierte Metriken auf Flow-Netzwerkebene hinzufügen.

Methoden

FlowNetwork(id: Schnur )
Ein Konstruktor für das FlowNetwork-Objekt, der eine Flow-Netzwerk-ID akzeptiert. Ein Fehler tritt auf, wenn die Flow-Netzwerk-ID auf dem ExtraHop-System nicht existiert.

Instanzmethoden

Mit den Methoden in diesem Abschnitt können Sie benutzerdefinierte Metriken in einem Flussnetz erstellen. Die Methoden sind nur auf Instanzen von vorhanden NetFlow Klasse. Die folgende Anweisung sammelt beispielsweise Metriken aus dem NetFlow-Verkehr in einem einzelnen Netzwerk:

NetFlow.network.metricAddCount("slow_rsp", 1);

Sie können die FlowNetwork-Methode jedoch als statische Methode aufrufen NETFLOW_RECORD Ereignisse. Die folgende Anweisung sammelt beispielsweise Metriken aus dem NetFlow-Verkehr auf beiden Geräten im Flussnetz:

FlowNetwork.metricAddCount("slow_rsp", 1);
metricAddCount(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Metrik zählen. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Metrik für die Zählung der obersten Ebene.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailCount(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Metrik zählen anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Metrik für die Detailzählung.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDataset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Datensatz-Metrik. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Datensatzmetrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailDataset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Datensatz-Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Metrik für die Detailzählung.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, die es Ihnen ermöglicht, mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzuzeichnen, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDistinct(metric_name: Schnur , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes oberste Ebene unterschiedliche Zählmetrik. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Metrik für die eindeutige Anzahl auf oberster Ebene.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddDetailDistinct(metric_name: Schnur , key: Schnur | IP-Adresse , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes Detail unterschiedliche Zählmetrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der detaillierten Metrik für unterschiedliche Zählungen.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddMax(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene maximale Metrik. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der maximalen Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailMax(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail maximale Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der maximalen Detailmetrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSampleset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Stichprobensatz, Metrik. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Sampleset-Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSampleset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Stichprobensatz, Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSnap(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Snapshot-Metrik. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Snapshot-Metrik der obersten Ebene.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSnap(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Snapshot-Metrik anhand derer Sie einen Drilldown durchführen können. Überträgt die Metrik Daten in das angegebene Flussnetz.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.

Instanzeigenschaften

id: Schnur
Eine Zeichenfolge, die das Flussnetz eindeutig identifiziert.
ipaddr: IP-Adresse
Die IP-Adresse der Verwaltungsschnittstelle im Flussnetz.

GeoIP

Das GeoIP Mit class können Sie den ungefähren Standort einer bestimmten Adresse auf Landes - oder Stadtebene abrufen.

Methoden

Die von GeoIP-Methoden zurückgegebenen Werte stammen aus dem MaxMind GeoLite2 Länder- oder Stadtdatenbanken sofern nicht anders konfiguriert durch die Geomap-Datenquelle Einstellungen in den Administrationseinstellungen.

In den Einstellungen für die Geomap-Datenquelle können Sie benutzerdefinierte Datenbanken hochladen und angeben, auf welche Datenbank bei Suchen nach Städten oder Ländern standardmäßig verwiesen werden soll.

Wir empfehlen, nur eine benutzerdefinierte Datenbank auf Stadtebene hochzuladen, wenn Sie beide aufrufen möchten GeoIP.getCountry() und GeoIP.getPreciseLocation() Methoden in Triggern. Wenn beide Typen von benutzerdefinierten Datenbanken hochgeladen werden, ruft das ExtraHop-System Werte für beide Methoden aus der Datenbank auf Stadtebene ab und ignoriert die Datenbank auf Landesebene, die als Teilmenge der Datenbank auf Stadtebene betrachtet wird.

getCountry(ipaddr: IP-Addresse ): Objekt
Gibt Details auf Länderebene für das angegebene Objekt zurück IPAddress in einem Objekt, das die folgenden Felder enthält:
continentName: Zeichenfolge
Der Name des Kontinents, wie Europe, das dem Land zugeordnet ist, aus dem die angegebene IP-Adresse stammt. Der Wert ist der gleiche wie continentName von der zurückgegebenes Feld getPreciseLocation() Methode.
continentCode: Zahl
Der Code des Kontinents, wie EU, das ist verknüpft mit dem Wert von countryCode Feld, gemäß ISO 3166. Der Wert ist der gleiche wie continentCode von der zurückgegebenes Feld getPreciseLocation() Methode.
countryName: Zeichenfolge
Der Name des Landes, aus dem die angegebene IP-Adresse stammt, wie United States. Der Wert ist der gleiche wie countryName von der zurückgegebenes Feld getPreciseLocation() Methode.
countryCode: Zeichenfolge
Der dem Land zugeordnete Code gemäß ISO 3166, z. B. US. Der Wert ist der gleiche wie countryCode Feld, das von der zurückgegeben wird getPreciseLocation() Methode.

kehrt zurück null in jedem Feld, für das keine Daten verfügbar sind, oder gibt einen zurück null Objekt, wenn alle Felddaten nicht verfügbar sind.

Hinweis:Das getCountry() Die Methode benötigt insgesamt 20 MB RAM auf dem ExtraHop-System, was sich auf die Systemleistung auswirken kann. Wenn diese Methode zum ersten Mal in einem Auslöser aufgerufen wird, reserviert das ExtraHop-System die erforderliche Menge an RAM, es sei denn getPreciseLocation() Methode wurde bereits aufgerufen. Das getPreciseLocation() Die Methode benötigt 100 MB RAM, sodass bereits ausreichend RAM verfügbar ist, um die getCountry() Methode. Die benötigte RAM-Menge ist nicht pro Auslöser oder pro Methodenaufruf; das ExtraHop-System reserviert die benötigte RAM-Menge nur einmal.

Im folgenden Codebeispiel ist der getCountry() Die Methode wird bei jedem angegebenen Ereignis aufgerufen und ruft ungefähre Standortdaten für jede Client-IP-Adresse ab:

// ignore if the IP address is non-routable
if (Flow.client.ipaddr.isRFC1918) return;
var results=GeoIP.getCountry(Flow.client.ipaddr);
if (results) {
    countryCode=results.countryCode;
    // log the 2-letter country code of each IP address 
    debug ("Country Code is " + results.countryCode);
}
getPreciseLocation(ipaddr: IP-Addresse ): Objekt
Gibt Details auf Stadtebene für das angegebene Objekt zurück IPAddress in einem Objekt, das die folgenden Felder enthält:
continentName: Zeichenfolge
Der Name des Kontinents, wie Europe, das dem Land zugeordnet ist, aus dem die angegebene IP-Adresse stammt. Der Wert ist der gleiche wie continentName von der zurückgegebenes Feld getCountry() Methode.
continentCode: Zahl
Der Code des Kontinents, wie EU, das ist verknüpft mit dem Wert von countryCode Feld, gemäß ISO 3166. Der Wert ist der gleiche wie continentCode von der zurückgegebenes Feld getCountry() Methode.
countryName: Zeichenfolge
Der Name des Landes, aus dem die angegebene IP-Adresse stammt, wie United States. Der Wert ist der gleiche wie countryName Feld, das von der zurückgegeben wird getCountry() Methode.
countryCode: Zeichenfolge
Der dem Land zugeordnete Code gemäß ISO 3166, z. B. US. Der Wert ist der gleiche wie countryCode Feld, das von der zurückgegeben wird getCountry() Methode.
region: Zeichenfolge
Die Region, z. B. ein Bundesstaat oder eine Provinz, wie Washington.
city: Zeichenfolge
Die Stadt, aus der die IP-Adresse stammt, wie Seattle.
latitude: Zahl
Der Breitengrad des IP-Adressstandorts.
longitude: Zahl
Der Längengrad des Standorts der IP-Adresse.
radius: Zahl
Der Radius, ausgedrückt in Kilometern, um die Längen- und Breitengradkoordinaten des IP-Adressstandorts.

kehrt zurück null in jedem Feld, für das keine Daten verfügbar sind, oder gibt einen zurück null Objekt, wenn alle Felddaten nicht verfügbar sind.

Hinweis:Das getPreciseLocation() Die Methode benötigt 100 MB Gesamt-RAM auf dem ExtraHop-System, was sich auf die Systemleistung auswirken kann. Wenn diese Methode zum ersten Mal in einem Auslöser aufgerufen wird, reserviert das ExtraHop-System die erforderliche Menge an RAM, es sei denn getCountry() Methode wurde bereits aufgerufen. Das getCountry() Die Methode benötigt 20 MB RAM, sodass das ExtraHop-System zusätzliche 80 MB RAM reserviert. Die benötigte RAM-Menge ist nicht pro Auslöser oder pro Methodenaufruf; das ExtraHop-System reserviert die benötigte RAM-Menge nur einmal.

IPAddress

Das IPAddress Klasse ermöglicht das Abrufen von IP-Adressattributen. Die IPAddress-Klasse ist auch als Eigenschaft für die Flow-Klasse verfügbar.

Methoden

IPAddress(ip: Schnur | Zahl , mask: Zahl )
Konstruktor für die Klasse IPAddress, der zwei Parameter akzeptiert:
ip: Schnur
Die IP-Adresszeichenfolge im CIDR-Format.
mask: Zahl
Die optionale Subnetzmaske in einem numerischen Format, die die Anzahl der „1" -Bits ganz links in der Maske darstellt (optional).

Instanzmethoden

equals(equals: IP-Adresse ): Boolesch
Führt einen Gleichheitstest zwischen IPAddress-Objekten durch, wie im folgenden Beispiel gezeigt:
if (Flow.client.ipaddr.toString() === "10.10.10.10")
{ // perform a task }
mask(mask: Zahl ): IP-Adresse
Legt die Subnetzmaske des IPAddress-Objekts fest, wie im folgenden Beispiel gezeigt:
if ((Flow.ipaddr1.mask(24).toString() === "173.194.33.0")||
(Flow.ipaddr2.mask(24).toString() === "173.194.33.0"))
{Flow.setApplication("My L4 App");}

Das mask Der Parameter gibt die Subnetzmaske in einem numerischen Format an und stellt die Anzahl der „1" -Bits ganz links in der Maske dar (optional).

toJSON(): Schnur
Konvertiert das IPAddress-Objekt in das JSON-Format.
toString(): Schnur
Konvertiert das IPAddress-Objekt in eine druckbare Zeichenfolge.

Eigenschaften

hostNames: Reihe von Zeichenketten
Ein Array von Hostnamen, die der IP-Adresse zugeordnet sind.
isBroadcast: Boolesch
Der Wert ist true wenn die IP-Adresse eine Broadcast-Adresse ist.
isExternal: Boolesch
Der Wert ist true wenn die IP-Adresse außerhalb Ihres Netzwerk liegt.
isLinkLocal: Boolesch
Der Wert ist true wenn es sich bei der IP-Adresse um eine lokale Linkadresse wie (169.254.0.0/16) handelt.
isMulticast: Boolesch
Der Wert ist true wenn die IP-Adresse eine Multicast-Adresse ist.
isRFC1918: Boolesch
Der Wert ist true wenn die IP-Adresse zu einem der privaten IP-Bereiche von RFC1918 gehört (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Der Wert ist immer false für IPv6-Adressen.
isV4: Boolesch
Der Wert ist true wenn die IP-Adresse eine IPv4-Adresse ist.
isV6: Boolesch
Der Wert ist true wenn die IP-Adresse eine IPv6-Adresse ist.
localityName: Schnur | null
Der Name der Netzwerklokalität, in der sich die IP-Adresse befindet. Wenn sich die IP-Adresse in keiner Netzwerklokalität befindet, ist der Wert Null.

Network

Das Network Mit dieser Klasse können Sie benutzerdefinierte Metriken auf globaler Ebene hinzufügen.

Methoden

metricAddCount(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Metrik zählen. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Metrik für die Zählung der obersten Ebene.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailCount(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Metrik zählen anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Metrik für die Detailanzahl.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der Inkrementwert. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. Ein NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgende Eigenschaft enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDataset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Datensatz-Metrik. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Datensatzmetrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, mit der Sie mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzeichnen können, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch die val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailDataset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Datensatz-Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Metrik für die Detailanzahl.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
freq: Zahl
Eine Option, mit der Sie mehrere Vorkommen bestimmter Werte im Datensatz gleichzeitig aufzeichnen können, wenn sie auf die Anzahl von Vorkommen gesetzt ist, die durch die val Parameter. Wenn kein Wert angegeben ist, ist der Standardwert 1.
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDistinct(metric_name: Schnur , item: Zahl | Schnur | IP-Adresse :void
Erstellt ein benutzerdefiniertes oberste Ebene unterschiedliche Zählmetrik. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Metrik für die eindeutige Anzahl auf oberster Ebene.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
MetricAddDetailDistinct (metrischer Name: Schnur, Schlüssel: Schnur | IP-Adresse, artikel: Zahl | Schnur | IP-Adresse: nichtig
Erstellt ein benutzerdefiniertes Detail unterschiedliche Zählmetrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der detaillierten Metrik für unterschiedliche Zählungen.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
item: Zahl | Schnur | IP-Adresse
Der Wert, der in das Set aufgenommen werden soll. Der Wert wird in eine Zeichenfolge umgewandelt, bevor er in den Satz aufgenommen wird.
metricAddMax(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene maximale Metrik. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der maximalen Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailMax(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail maximale Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der maximalen Detailmetrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSampleset(metric_name: Schnur , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Stichprobensatz, Metrik. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Sampleset-Metrik der obersten Ebene.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSampleset(metric_name: Schnur , key: Schnur | IP-Adresse , val: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Stichprobensatz, Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
val: Zahl
Der beobachtete Wert, z. B. eine Verarbeitungszeit. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddSnap(metric_name: Schnur , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes oberste Ebene Snapshot-Metrik. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Snapshot-Metrik der obersten Ebene.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.
metricAddDetailSnap(metric_name: Schnur , key: Schnur | IP-Adresse , count: Zahl , options: Objekt ):void
Erstellt ein benutzerdefiniertes Detail Snapshot-Metrik anhand derer Sie einen Drilldown durchführen können. Übergibt die Metrikdaten an das angegebene Netzwerk.
metric_name: Schnur
Der Name der Detail-Sampleset-Metrik.
key: Schnur | IP-Adresse
Der für die Detail-Metrik angegebene Schlüssel. EIN null Der Wert wird stillschweigend verworfen.
count: Zahl
Der beobachtete Wert, z. B. aktuell hergestellte Verbindungen. Muss eine 64-Bit-Ganzzahl ungleich Null mit positivem Vorzeichen sein. EIN NaN Der Wert wird stillschweigend verworfen.
options: Objekt
Ein optionales Objekt, das die folgenden Eigenschaften enthalten kann:
highPrecision: Boolesch
Ein Flag, das eine Granularität von einer Sekunde für die benutzerdefinierte Metrik aktiviert, wenn es auf gesetzt ist true.

Session

Die Session Die Klasse bietet Zugriff auf die Sitzungstabelle. Es wurde entwickelt , um die Koordination mehrerer unabhängig voneinander ausgeführter Trigger zu unterstützen. Der globale Status der Sitzungstabelle bedeutet, dass alle Änderungen durch einen Auslöser oder externen Prozess für alle anderen Benutzer der Sitzungstabelle sichtbar werden. Da sich die Sitzungstabelle im Arbeitsspeicher befindet, werden Änderungen nicht gespeichert, wenn Sie das ExtraHop-System oder den Capture-Prozess neu starten.

Hier sind einige wichtige Dinge, die Sie über Sitzungstabellen wissen sollten:

  • Die Sitzungstabelle unterstützt normale JavaScript-Werte, sodass Sie der Tabelle JS-Objekte hinzufügen können.
  • Sitzungs-Tabelleneinträge können entfernt werden, wenn die Tabelle zu groß wird oder wenn das konfigurierte Ablaufdatum erreicht ist.
  • Weil der Sitzungstisch auf einem Sensor wird nicht geteilt mit Konsole, die Werte in der Sitzungstabelle werden nicht mit anderen verbundenen Benutzern geteilt Sensoren.
  • Die ExtraHop Open Data Context API macht die Sitzungstabelle über das Verwaltungsnetzwerk verfügbar und ermöglicht so die Koordination mit externen Prozessen über memcache protokoll.

Ereignisse

Die Session-Klasse ist nicht nur beschränkt auf SESSION_EXPIRE Ereignis. Sie können die Session-Klasse auf jedes ExtraHop-Ereignis anwenden.

SESSION_EXPIRE
Wird regelmäßig (in Schritten von etwa 30 Sekunden) ausgeführt, solange die Sitzungstabelle verwendet wird. Wenn der SESSION_EXPIRE Ereignis werden ausgelöst, Schlüssel, die im letzten 30-Sekunden-Intervall abgelaufen sind, sind verfügbar über Session.expiredKeys Eigentum.

Die SESSION_EXPIRE Das Ereignis ist keinem bestimmten Fluss zugeordnet, wird also ausgelöst SESSION_EXPIRE Ereignisse können Gerätemetriken nicht übertragen Device.metricAdd*() Methoden oder Flow.client.device.metricAdd*() Methoden. Um Gerätekennzahlen für dieses Ereignis zu bestätigen, müssen Sie Folgendes hinzufügen Device Objekte in die Sitzungstabelle über Device() Instanzmethode.

Hinweis:Sie können Trigger, die nur bei diesem Ereignis ausgeführt werden, nicht bestimmten Geräten oder Gerätegruppen zuweisen. Trigger, die bei diesem Ereignis ausgeführt werden, werden immer dann ausgeführt, wenn dieses Ereignis eintritt.
TIMER_30SEC
Läuft genau alle 30 Sekunden. Dieses Ereignis ermöglicht es Ihnen, periodische Verarbeitungen durchzuführen, z. B. regelmäßig auf Session-Tabelleneinträge zuzugreifen, die über die Öffnen Sie die Datenkontext-API.
Hinweis:Sie können eine beliebige Triggerklasse auf das TIMER_30SEC-Ereignis anwenden.
Hinweis:Sie können Trigger, die nur bei diesem Ereignis ausgeführt werden, nicht bestimmten Geräten oder Gerätegruppen zuweisen. Trigger, die bei diesem Ereignis ausgeführt werden, werden immer dann ausgeführt, wenn dieses Ereignis eintritt.

Methoden

add(key: Schnur , value*, options: Objekt ): *
Fügt den angegebenen Schlüssel in die Sitzungstabelle ein. Wenn der Schlüssel vorhanden ist, wird der entsprechende Wert zurückgegeben, ohne den Schlüsseleintrag in der Tabelle zu ändern. Wenn der Schlüssel nicht vorhanden ist, wird ein neuer Eintrag für den Schlüssel und den Wert erstellt, und der neue Wert wird zurückgegeben.

Sie können ein optionales Optionen Objekt für den angegebenen Schlüssel.

getOptions(key: Schnur ): Objekt
Gibt den Optionen Objekt für den angegebenen Schlüssel. Sie konfigurieren Optionen bei Aufrufen von Session.add(), Session.modify(), oder Session.replace().
increment(key: Schnur , count: Zahl ): Zahl | null
Sucht nach dem angegebenen Schlüssel und erhöht den Schlüsselwert um die angegebene Zahl. Der Standardwert des optionalen Zählparameters ist 1. Gibt den neuen Schlüsselwert zurück, wenn der Aufruf erfolgreich ist. Retouren null wenn die Suche fehlschlägt. Gibt einen Fehler zurück , wenn der Schlüsselwert keine Zahl ist.
lookup(key: Schnur ): *
Sucht den angegebenen Schlüssel in der Sitzungstabelle und gibt den entsprechenden Wert zurück. Retouren null wenn der Schlüssel nicht vorhanden ist.
modify(key: Schnur , value: *, options: Objekt ): *
Ändert den angegebenen Schlüsselwert, wenn der Schlüssel in der Sitzungstabelle vorhanden ist, und gibt den vorherigen Wert zurück. Wenn der Schlüssel nicht vorhanden ist, wird kein neuer Eintrag erstellt.

Bei Änderungen zum optionalen Optionen Objekte sind enthalten, die wichtigsten Optionen werden aktualisiert. und alte Optionen werden mit neuen zusammengeführt. Wenn der expire Option wurde geändert, der Ablauftimer wurde zurückgesetzt.

remove(key: Schnur ): *
Entfernt den Eintrag für den angegebenen Schlüssel und gibt den zugehörigen Wert zurück.
replace(key: Schnur , value: *, options: Objekt ): *
Aktualisiert den Eintrag, der dem angegebenen Schlüssel zugeordnet ist. Wenn der Schlüssel vorhanden ist, aktualisieren Sie den Wert und geben Sie den vorherigen Wert zurück. Wenn der Schlüssel nicht vorhanden ist, fügen Sie den Eintrag hinzu und geben Sie den vorherigen Wert (Null) zurück.

Bei Änderungen zum optionalen Optionen Objekte sind enthalten, die wichtigsten Optionen werden aktualisiert und alte Optionen werden mit neuen zusammengeführt. Wenn der expire Option ist vorhanden, der Ablauftimer wird zurückgesetzt.

Optionen

expire: Zahl
Die Dauer, nach der die Räumung erfolgt, ausgedrückt in Sekunden. Wenn der Wert null oder undefined, wird der Eintrag nur entfernt, wenn die Sitzungstabelle zu groß wird.
notify: Boolescher Wert
Zeigt an, ob der Schlüssel verfügbar ist am SESSION_EXPIRE Ereignisse. Der Standardwert ist False.
priority: Schnur
Prioritätsstufe, die bestimmt, welche Einträge entfernt werden sollen, wenn die Sitzungstabelle zu groß wird. Gültige Werte sind PRIORITY_LOW, PRIORITY_NORMAL, und PRIORITY_HIGH. Der Standardwert ist PRIORITY_NORMAL.

Konstanten

PRIORITY_LOW: Zahl
Die numerische Darstellung der niedrigsten Prioritätsstufe. Der Wert ist 0. Prioritätsstufen bestimmen die Reihenfolge, in der Einträge aus der Sitzungstabelle entfernt werden, wenn die Tabelle zu groß wird.
PRIORITY_NORMAL: Zahl
Die numerische Darstellung der Standardprioritätsstufe. Der Wert ist 1. Prioritätsstufen bestimmen die Reihenfolge, in der Einträge aus der Sitzungstabelle entfernt werden, wenn die Tabelle zu groß wird.
PRIORITY_HIGH: Zahl
Die numerische Darstellung der höchsten Prioritätsstufe. Der Wert ist 2. Prioritätsstufen bestimmen die Reihenfolge, in der Einträge aus der Sitzungstabelle entfernt werden, wenn die Tabelle zu groß wird.

Eigenschaften

expiredKeys: Reihe
Eine Reihe von Objekten mit den folgenden Eigenschaften:
age: Zahl
Das Alter des abgelaufenen Objekts, ausgedrückt in Millisekunden. Alter ist die Zeitspanne, die zwischen dem Hinzufügen des Objekts in der Sitzungstabelle oder der Änderung der Ablaufoption des Objekts verstrichen ist, und SESSION_EXPIRE Ereignis. Das Alter bestimmt, ob der Schlüssel entfernt wurde oder abgelaufen ist.
name: Schnur
Der Schlüssel des abgelaufenen Objekts.
value: Zahl | Schnur | IP-Adresse | Boolescher Wert | Gerät
Der Wert des Eintrags in der Sitzungstabelle.

Zu den abgelaufenen Schlüsseln gehören Schlüssel, die gelöscht wurden, weil die Tabelle zu groß wurde.

Die expiredKeys Auf die Immobilie kann nur zugegriffen werden auf SESSION_EXPIRE Ereignisse; andernfalls tritt ein Fehler auf.

System

Die System Klasse ermöglicht das Abrufen von Informationen über Sensor oder Konsole auf dem ein Auslöser läuft. Diese Information ist nützlich in Umgebungen mit mehreren Sensoren.

Eigenschaften

uuid: Schnur
Der Universally Unique Identifier (UUID) des Sensor oder Konsole.
ipaddr: IP-Addresse
Die IPAddress Objekt der primären Verwaltungsschnittstelle (Interface 1) auf dem Sensor.
hostname: Schnur
Der Hostname für den Sensor oder Konsole in den Administrationseinstellungen konfiguriert.
version: Schnur
Die Firmware-Version läuft auf dem Sensor oder Konsole.

ThreatIntel

Die ThreatIntel Mit dieser Klasse können Sie sehen, ob Bedrohungen für IP-Adressen, Hostnamen oder URIs gefunden wurden. (Nur ExtraHop RevealX Premium und Ultra)

Methoden

hasIP(address: IP-Addresse ): boolesch
Der Wert ist true ob die Bedrohungen für die angegebene IP-Adresse gefunden wurden. Wenn im ExtraHop-System keine nachrichtendienstlichen Informationen verfügbar sind, ist der Wert null.
hasDomain(domain: Schnur ): boolesch
Der Wert ist true ob die Bedrohungen für die angegebene Domain gefunden wurden. Wenn im ExtraHop-System keine nachrichtendienstlichen Informationen verfügbar sind, ist der Wert null.
hasURI(uri: Schnur ): boolesch
Der Wert ist true ob die Bedrohungen für den angegebenen URI gefunden wurden. Wenn im ExtraHop-System keine nachrichtendienstlichen Informationen verfügbar sind, ist der Wert null.

Eigenschaften

isAvailable: boolesch
Der Wert ist true wenn Bedrohungsinformationen auf dem ExtraHop-System verfügbar sind.

Trigger

Die Trigger Mit dieser Klasse können Sie auf Details zu einem laufenden Auslöser zugreifen.

Eigenschaften

isDebugEnabled: boolesch
Der Wert ist true wenn das Debugging für den Auslöser aktiviert ist. Der Wert wird durch den Zustand des bestimmt Debug-Log aktivieren Checkbox im Bereich Trigger bearbeiten im ExtraHop-System.

VLAN

Die VLAN Klasse steht für ein VLAN im Netzwerk.

Eigenschaften der Instanz

id: Zahl
Die numerische ID für ein VLAN.

Protokoll- und Netzwerkdatenklassen

Mit den Trigger-API-Klassen in diesem Abschnitt können Sie auf Eigenschaften zugreifen und Metriken Datensatz von Protokoll, Nachrichten und Flow-Aktivitäten, die auf dem ExtraHop ExtraHop-System auftreten.

Klasse Beschreibung
AAA Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf AAA_REQUEST oder AAA_RESPONSE Ereignisse.
ActiveMQ Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf ACTIVEMQ_MESSAGE Ereignisse.
AJP Mit der AJP-Klasse können Sie Metriken speichern und auf Eigenschaften zugreifen AJP_REQUEST und AJP_RESPONSE Ereignisse.
CDP Die CDP-Klasse ermöglicht es Ihnen, Metriken zu speichern und auf Eigenschaften zuzugreifen CDP_FRAME Ereignisse.
CIFS Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf CIFS_REQUEST und CIFS_RESPONSE Ereignisse.
DB Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf DB_REQUEST und DB_RESPONSE Ereignisse.
DHCP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf DHCP_REQUEST und DHCP_RESPONSE Ereignisse.
DICOM Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf DICOM_REQUEST und DICOM_RESPONSE Ereignisse.
DNS Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf DNS_REQUEST und DNS_RESPONSE Ereignisse.
FIX Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf FIX_REQUEST und FIX_RESPONSE Ereignisse.
FTP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf FTP_REQUEST und FTP_RESPONSE Ereignisse.
HL7 Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf HL7_REQUEST und HL7_RESPONSE Ereignisse.
HTTP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf HTTP_REQUEST und HTTP_RESPONSE Ereignisse.
IBMMQ Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf IBMMQ_REQUEST und IBMMQ_RESPONSE Ereignisse.
ICA Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf ICA_OPEN, ICA_AUTH, ICA_TICK, und ICA_CLOSE Ereignisse.
ICMP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf ICMP_MESSAGE Ereignisse.
Kerberos Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf KERBEROS_REQUEST und KERBEROS_RESPONSE Ereignisse.
LDAP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf LDAP_REQUEST und LDAP_RESPONSE Ereignisse.
LLDP Ermöglicht den Zugriff auf Eigenschaften von LLDP_FRAME Ereignisse.
Memcache Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf MEMCACHE_REQUEST und MEMCACHE_RESPONSE Ereignisse.
Modbus Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf MODBUS_REQUEST und MODBUS_RESPONSE Ereignisse.
MongoDB Mit der MongoDB-Klasse können Sie Metriken speichern und auf Eigenschaften zugreifen MONGODB_REQUEST und MONGODB_RESPONSE Ereignisse.
MSMQ Mit der MSMQ-Klasse können Sie Metriken speichern und auf Eigenschaften zugreifen MSMQ_MESSAGE Ereignis.
NetFlow Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf NETFLOW_RECORD Ereignisse.
NFS Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf NFS_REQUEST und NFS_RESPONSE Ereignisse.
NTLM Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf NTLM_MESSAGE Ereignisse.
POP3 Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf POP3_REQUEST und POP3_RESPONSE Ereignisse.
RDP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf RDP_OPEN, RDP_CLOSE, und RDP_TICK Ereignisse.
Redis Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf REDIS_REQUEST und REDIS_RESPONSE Ereignisse.
RPC Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf RPC_REQUEST und RPC_RESPONSE Ereignisse.
RTCP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf RTCP_MESSAGE Ereignisse.
RTP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf RTP_OPEN, RTP_CLOSE, und RTP_TICK Ereignisse.
SCCP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf SCCP_MESSAGE Ereignisse.
SDP Ermöglicht den Zugriff auf Eigenschaften von SIP_REQUEST und SIP_RESPONSE Ereignisse.
SFlow Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf SFLOW_RECORD Ereignisse.
SIP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf SIP_REQUEST und SIP_RESPONSE Ereignisse.
SMPP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf SMPP_REQUEST und SMPP_RESPONSE Ereignisse.
SMTP Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf SMTP_REQUEST und SMTP_RESPONSE Ereignisse.
SSH Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf SSH_CLOSE, SSH_OPEN und SSH_TICK Ereignisse.
SSL Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf SSL_OPEN, SSL_CLOSE, SSL_ALERT, SSL_RECORD, SSL_HEARTBEAT, und SSL_RENEGOTIATE Ereignisse.
TCP Ermöglicht den Zugriff auf Eigenschaften und das Abrufen von Metriken aus TCP-Ereignissen und mehr FLOW_TICK und FLOW_TURN Ereignisse.
Telnet Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf TELNET_MESSAGE Ereignisse.
Turn Ermöglicht das Speichern von Metriken und Zugreifen auf Eigenschaften auf FLOW_TURN Ereignisse.
UDP Ermöglicht den Zugriff auf Eigenschaften und das Abrufen von Metriken aus UDP-Ereignissen und mehr FLOW_TICK und FLOW_TURN Ereignisse.
WebSocket Ermöglicht den Zugriff auf Eigenschaften von WEBSOCKET_OPEN, WEBSOCKET_CLOSE, und WEBSOCKET_MESSAGE Ereignisse.

AAA

Die AAA Mit der Klasse (AAA) können Sie Metriken speichern und auf Eigenschaften zugreifen AAA_REQUEST oder AAA_RESPONSE Ereignisse.

Ereignisse

AAA_REQUEST
Wird ausgeführt, wenn das ExtraHop-System die Verarbeitung einer AAA-Anfrage abgeschlossen hat.
AAA_RESPONSE
Läuft mit jeder AAA-Antwort, die vom Gerät verarbeitet wird.

Methoden

commitRecord(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore auf einem AAA_REQUEST oder AAA_RESPONSE Ereignis.

Das Ereignis bestimmt, welche Eigenschaften dem Record-Objekt zugewiesen werden. Die Standardeigenschaften, die für jedes Ereignis übernommen wurden, finden Sie in der record Eigentum unten.

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

Eigenschaften

authenticator: Schnur
Der Wert des Authenticator-Felds (nur RADIUS).
avps: Reihe
Ein Array von AVP-Objekten mit den folgenden Eigenschaften:
avpLength: Zahl
Die Größe des AVP, ausgedrückt in Byte. Dieser Wert beinhaltet die AVP-Header-Daten sowie den Wert.
id: Zahl
Die numerische ID des Attributs, dargestellt als Ganzzahl.
isGrouped: Boolescher Wert
Der Wert ist true wenn es sich um ein gruppiertes AVP handelt ( nur Durchmesser).
name: Schnur
Der Name für das angegebene AVP.
vendor: Schnur
Der Anbietername für Hersteller-AVPs (nur Diameter).
value: Schnur | Reihe | Zahl
Für einzelne AVPs eine Zeichenfolge oder ein numerischer Wert. Für gruppierte AVPs (nur Durchmesser) eine Reihe von Objekten.
isDiameter: Boolescher Wert
Der Wert ist true wenn die Anfrage oder Antwort Durchmesser lautet.
isError: Boolescher Wert
Der Wert ist true wenn die Antwort ein Fehler ist. Um die Fehlerdetails in Diameter abzurufen, überprüfen Sie AAA.statusCode. Um die Fehlerdetails in RADIUS abzurufen, überprüfen Sie das AVP mit dem Code 18 (Reply-Message).

Zugriff nur auf AAA_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

isRadius: Boolescher Wert
Der Wert ist true wenn die Anfrage oder Antwort RADIUS ist.
isRspAborted: Boolescher Wert
Der Wert ist true wenn der AAA_RESPONSE Ereignis wurde abgebrochen.

Zugriff nur auf AAA_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

method: Zahl
Die Methode, die dem Befehlscode in RADIUS oder Diameter entspricht.

Die folgende Tabelle enthält gültige Diameter-Befehlscodes:

Name des Befehls Abbrr. Kode
AA-Request AAR 265
AA-Answer AAA 265
Diameter-EAP-Request DER 268
Diameter-EAP-Answer DEA 268
Abort-Session-Request ASR 274
Abort-Session-Answer ASA 274
Accounting-Request ACR 271
Credit-Control-Request CCR 272
Credit-Control-Answer CCA 272
Capabilities-Exchange-Request CER 257
Capabilities-Exchange-Answer CEA 257
Device-Watchdog-Request DWR 280
Device-Watchdog-Answer DWA 280
Disconnect-Peer-Request DPR 282
Disconnect-Peer-Answer DPA 282
Re-Auth-Answer RAA 258
Re-Auth-Request RAR 258
Session-Termination-Request STR 275
Session-Termination-Answer STA 275
User-Authorization-Request UAR 300
User-Authorization-Answer UAA 300
Server-Assignment-Request SAR 301
Server-Assignment-Answer SAA 301
Location-Info-Request LIR 302
Location-Info-Answer LIA 302
Multimedia-Auth-Request MAR 303
Multimedia-Auth-Answer MAA 303
Registration-Termination-Request RTR 304
Registration-Termination-Answer RTA 304
Push-Profile-Request PPR 305
Push-Profile-Answer PPA 305
User-Data-Request UDR 306
User-Data-Answer UDA 306
Profile-Update-Request PUR 307
Profile-Update-Answer PUA 307
Subscribe-Notifications-Request SNR 308
Subscribe-Notifications-Answer SNA 308
Push-Notification-Request PNR 309
Push-Notification-Answer PNA 309
Bootstrapping-Info-Request BIR 310
Bootstrapping-Info-Answer BIA 310
Message-Process-Request MPR 311
Message-Process-Answer MPA 311
Update-Location-Request ULR 316
Update-Location-Answer ULA 316
Authentication-Information-Request AIR 318
Authentication-Information-Answer AIA 318
Notify-Request NR 323
Notify-Answer NA 323

Die folgende Tabelle enthält gültige RADIUS-Befehlscodes:

Name des Befehls Kode
Access-Request 1
Access-Accept 2
Access-Reject 3
Accounting-Request 4
Accounting-Response 5
Access-Challenge 11
Status-Server (experimental) 12
Status-Client (experimental) 13
Reserved 255
processingTime: Zahl
Die Serververarbeitungszeit, ausgedrückt in Millisekunden. Der Wert ist NaN wenn das Timing ungültig ist.

Zugriff nur auf AAA_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann AAA.commitRecord() entweder auf einem AAA_REQUEST oder AAA_RESPONSE Ereignis.

Das Ereignis, für das die Methode aufgerufen wurde, bestimmt, welche Eigenschaften das Standard-Datensatzobjekt enthalten kann, wie in der folgenden Tabelle dargestellt:

AAA_ANFRAGE AAA_RESPONSE
authenticator authenticator
clientIsExternal clientIsExternal
clientZeroWnd clientZeroWnd
method isError
receiverIsExternal isRspAborted
reqBytes method
reqL2Bytes processingTime
reqPkts receiverIsExternal
reqRTO roundTripTime
senderIsExternal rspBytes
serverIsExternal rspL2Bytes
serverZeroWnd rspPkts
txId rspRTO
  statusCode
  senderIsExternal
  serverIsExternal
  serverZeroWnd
  txId
reqBytes: Zahl
Die Anzahl der L4 Anforderungsbytes, ausgenommen L4-Header.
reqL2Bytes: Zahl
Die Anzahl der L2 Anforderungsbytes, einschließlich L2-Headern.
reqPkts: Zahl
Die Anzahl der Anforderungspakete.
reqRTO: Zahl
Die Anzahl der Anfragen Timeouts bei der erneuten Übertragung (RTOs).

Zugriff nur auf AAA_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

reqZeroWnd: Zahl
Die Anzahl der Nullfenster in der Anfrage.
roundTripTime: Zahl
Die mittlere Umlaufzeit (RTT), ausgedrückt in Millisekunden. Der Wert ist NaN wenn es keine RTT-Proben gibt.
rspBytes: Zahl
Die Anzahl der L4 Antwortbytes, ausgenommen Overhead für das L4-Protokoll, wie ACKs, Header und erneute Übertragungen.
rspL2Bytes: Zahl
Die Anzahl der L2 Antwortbytes, einschließlich Protokoll-Overhead, wie Header.
rspPkts: Zahl
Die Anzahl der Antwortpakete.
rspRTO: Zahl
Die Anzahl der Antworten Timeouts bei der erneuten Übertragung (RTOs).

Zugriff nur auf AAA_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspZeroWnd: Zahl
Die Anzahl der Nullfenster in der Antwort.
statusCode: Schnur
Eine Zeichenkettendarstellung der AVP-ID 268 (Ergebniscode).

Zugriff nur auf AAA_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

txId: Zahl
Ein Wert, der dem Hop-By-Hop-Bezeichner in Diameter und der msg-id in RADIUS entspricht.

ActiveMQ

Das ActiveMQ Klasse ermöglicht es Ihnen, Metriken zu speichern und auf Eigenschaften zuzugreifen ACTIVEMQ_MESSAGE Ereignisse. ActiveMQ ist eine Implementierung des Java Messaging Service (JMS).

Ereignisse

ACTIVEMQ_MESSAGE
Läuft auf jeder JMS-Nachricht, die vom Gerät verarbeitet wird.

Methoden

commitRecord(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore auf einem ACTIVEMQ_MESSAGE Ereignis.

Informationen zu den Standardeigenschaften, die dem Datensatzobjekt zugewiesen wurden, finden Sie in der record Eigentum unten.

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

Eigenschaften

correlationId: Schnur
Das jmsCorrelationId-Feld der Nachricht.
exceptionResponse: Objekt | Null
Das JMSException-Feld der Nachricht. Wenn der Befehl der Nachricht nicht ExceptionResponse, der Wert ist Null. Das Objekt enthält die folgenden Felder:
message: Schnur
Die Ausnahmeantwortnachricht.
class: Schnur
Die Unterklasse der JMSException.
expiration: Zahl
Das JMSExpiration-Feld der Nachricht.
msg: Puffer
Der Nachrichtentext. Bei Nachrichten im TEXT_MESSAGE-Format wird der Nachrichtentext als UTF-8-Zeichenfolge zurückgegeben. Für alle anderen Nachrichtenformate gibt dies die Rohbytes zurück.
msgFormat: Schnur
Das Nachrichtenformat. Mögliche Werte sind:
  • BYTES_MESSAGE
  • MAP_MESSAGE
  • MESSAGE
  • OBJECT_MESSAGE
  • STREAM_MESSAGE
  • TEXT_MESSAGE
  • BLOG_MESSAGE
msgId: Schnur
Das JMSMessageID-Feld der Nachricht.
persistent: Boolesch
Der Wert ist true wenn der JMSDeliveryMode PERSISTENT ist.
priority: Zahl
Das JMSPriority-Feld der Nachricht.
  • 0 ist die niedrigste Priorität.
  • 9 hat die höchste Priorität.
  • 0-4 sind Abstufungen mit normaler Priorität.
  • 5-9 sind Abstufungen mit beschleunigter Priorität.
properties: Objekt
Null oder mehr Eigenschaften, die an die Nachricht angehängt sind. Die Schlüssel sind beliebige Zeichenketten und die Werte können boolesche Werte, Zahlen oder Zeichenketten sein.
queue: Schnur
Das JmsDestination-Feld der Nachricht.
receiverBytes: Zahl
Die Anzahl der Bytes auf Anwendungsebene vom Empfänger.
receiverIsBroker: Boolesch
Der Wert ist true wenn der Empfänger der Nachricht auf Flow-Level ein Broker ist.
receiverL2Bytes: Zahl
Die Zahl der L2 Byte vom Empfänger.
receiverPkts: Zahl
Die Anzahl der Pakete vom Empfänger.
receiverRTO: Zahl
Die Anzahl der RTOs vom Empfänger.
receiverZeroWnd: Zahl
Die Anzahl der vom Empfänger gesendeten Nullfenster.
record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann ActiveMQ.commitRecord() auf einem ACTIVEMQ_MESSAGE Ereignis.

Das Standard-Datensatzobjekt kann die folgenden Eigenschaften enthalten:

  • clientIsExternal
  • correlationId
  • expiration
  • msgFormat
  • msgId
  • persistent
  • priority
  • queue
  • receiverBytes
  • receiverIsBroker
  • receiverIsExternal
  • receiverL2Bytes
  • receiverPkts
  • receiverRTO
  • receiverZeroWnd
  • redeliveryCount
  • replyTo
  • roundTripTime
  • senderBytes
  • senderIsBroker
  • senderIsExternal
  • senderL2Bytes
  • senderPkts
  • senderRTO
  • senderZeroWnd
  • serverIsExternal
  • timeStamp
  • totalMsgLength
redeliveryCount: Zahl
Die Anzahl der Rücklieferungen.
replyTo: Schnur
Das JmsReplyTo-Feld der Nachricht, umgewandelt in eine Zeichenfolge.
roundTripTime: Zahl
Die mittlere Roundtrip-Zeit (RTT), ausgedrückt in Millisekunden. Der Wert ist NaN wenn es keine RTT-Samples gibt.
senderBytes: Zahl
Die Anzahl der Byte auf Anwendungsebene vom Absender.
senderIsBroker: Boolesch
Der Wert ist true wenn der Absender der Nachricht auf Flow-Ebene ein Broker ist.
senderL2Bytes: Zahl
Die Zahl der L2 Byte vom Absender.
senderPkts: Zahl
Die Anzahl der Pakete vom Absender.
senderRTO: Zahl
Die Anzahl der RTOs des Absenders.
senderZeroWnd: Zahl
Die Anzahl der vom Absender gesendeten Nullfenster.
timestamp: Zahl
Der Zeitpunkt, zu dem die Nachricht zum Versand an einen Anbieter übergeben wurde, ausgedrückt in GMT. Dies ist das jmsTimestamp-Feld der Nachricht.
totalMsgLength: Zahl
Die Länge der Nachricht, ausgedrückt in Byte.

AJP

Das Apache JServ Protocol (AJP) leitet eingehende Anfragen von einem Webserver an einen Anwendungsserver weiter und wird häufig in Umgebungen mit Lastenausgleich angewendet, in denen ein oder mehrere Front-End-Webserver Anfragen an einen oder mehrere Anwendungsserver weiterleiten. Das AJP Klasse ermöglicht es Ihnen, Metriken zu speichern und auf Eigenschaften zuzugreifen AJP_REQUEST und AJP_RESPONSE Ereignisse.

Ereignisse

AJP_REQUEST
Wird ausgeführt, nachdem der Server eine AJP Forward Request-Nachricht an einen Servlet-Container gesendet hat, und überträgt dann alle nachfolgenden Anforderungstexte.
AJP_RESPONSE
Wird ausgeführt, nachdem ein Servlet-Container eine AJP End Response-Nachricht gesendet hat, um zu signalisieren, dass der Servlet-Container die Verarbeitung einer AJP-Forward-Anfrage abgeschlossen und die angeforderten Informationen zurückgesendet hat.

Methoden

commitRecord(): Leer
Sendet einen Datensatz an den konfigurierten Recordstore auf einem AJP_RESPONSE Ereignis. Commits aufzeichnen am AJP_REQUEST Ereignisse werden nicht unterstützt.

Informationen zu den Standardeigenschaften, die dem Datensatzobjekt zugewiesen wurden, finden Sie in der record Eigentum unten.

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

findHeaders(name: Schnur ): Reihe
Greift auf AJP-Header-Werte zu und gibt ein Array von Header-Objekten (mit Namen- und Werteigenschaften) zurück, wobei die Namen dem Präfix der angegebenen Zeichenfolge entsprechen. Greift auf Anforderungsheader zu AJP_REQUEST Ereignisse und Antwortheader auf AJP_RESPONSE Anfragen.

Eigenschaften

attributes: Objekt
Ein Array optionaler AJP-Attribute, die mit der Anfrage gesendet wurden, wie remote_user, auth_type, query_string, jvm_route, ssl_cert, ssl_cipher und ssl_session.

Zugriff nur auf AJP_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

fwdReqClientAddr: IP Adresse
Das IPAddress des HTTP-Clients, der die ursprüngliche Anfrage an den Server gestellt hat. Der Wert ist null wenn die verfügbaren Informationen nicht zu einer IP-Adresse analysiert werden können.
fwdReqHost: Schnur
Der HTTP-Host, der vom HTTP-Client angegeben wurde, der die ursprüngliche Anfrage an den Server gestellt hat.
fwdReqIsEncrypted: Boolesch
Der Wert ist true wenn die TLS-Verschlüsselung von dem HTTP-Client angewendet wurde , der die ursprüngliche Anfrage an den Server gestellt hat.
fwdReqServerName: Schnur
Der Name des Server, an den der HTTP-Client die ursprüngliche Anfrage gestellt hat.
FWDREQ-Serverport: Zahl
Der TCP-Port auf dem Server, an den der HTTP-Client die ursprüngliche Anfrage gestellt hat.
headers: Objekt
Beim Zugriff am AJP_REQUEST events, ein Array von Header-Namen und Werten, die mit der Anfrage gesendet wurden.

Beim Zugriff am AJP_RESPONSE events, eine Reihe von Headern, die in der AJP Send Headers-Nachricht vom Server an den Endbenutzer-Browser übermittelt werden.

method: Schnur
Die HTTP-Methode der Anfrage, wie POST oder GET, vom Server zum Servlet-Container.
processingTime: Zahl
Die Zeit zwischen dem letzten Byte der empfangenen Anfrage und dem ersten Byte der gesendeten Antwort-Nutzlast, ausgedrückt in Millisekunden. Der Wert ist NaN bei falsch formatierten und abgebrochenen Antworten oder wenn das Timing ungültig ist.

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

protocol: Schnur
Das Protokoll der Anfrage vom Server an den Servlet-Container. Nicht für andere Nachrichtentypen festgelegt.
record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann AJP.commitRecord() auf einem AJP_RESPONSE Ereignis.

Das Standard-Datensatzobjekt kann die folgenden Eigenschaften enthalten:

  • clientIsExternal
  • fwdReqClientAddr
  • fwdReqHost
  • fwdReqIsEncrypted
  • fwdReqServerName
  • fwdReqServerPort
  • method
  • processingTime
  • protocol
  • receiverIsExternal
  • reqSize
  • rspSize
  • statusCode
  • senderIsExternal
  • serverIsExternal
  • uri

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqBytes: Zahl
Die Zahl der L4 Anforderungsbytes, ausgenommen L4-Header.

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqL2Bytes: Zahl
Die Zahl der L2 Anforderungsbytes, einschließlich L2-Headern.
reqPkts: Zahl
Die Anzahl der Anforderungspakete.
reqRTO: Zahl
Die Anzahl der Anfragen Zeitüberschreitungen bei der erneuten Übertragung (RTOs).
reqSize: Zahl
Die Anzahl der L7-Anforderungsbytes, ohne AJP-Header.
rspBytes: Zahl
Die Zahl der L4 Antwortbytes, ausgenommen L4-Protokoll-Overhead, wie ACKs, Header und Neuübertragungen.

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspL2Bytes: Zahl
Die Zahl der L2 Antwortbytes, einschließlich Protokoll-Overhead, wie Header.

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspPkts: Zahl
Die Anzahl der Antwortpakete.

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspRTO: Zahl
Die Anzahl der Antworten Zeitüberschreitungen bei der erneuten Übertragung (RTOs).

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspSize: Zahl
Die Anzahl der L7-Antwortbytes, ohne AJP-Header.

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

statusCode: Zahl
Der HTTP-Statuscode, der vom Servlet-Container für Antworten auf AJP Forward Request-Nachrichten zurückgegeben wird.

Zugriff nur auf AJP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

uri: Schnur
Die URI für die Anfrage vom Server an den Servlet-Container. Nicht für Nicht-AJP-Nachrichtentypen festgelegt.

CDP

Das Cisco Discovery Protocol (CDP) ist ein proprietäres Protokoll, das es verbundenen Cisco-Geräten ermöglicht, Informationen aneinander zu senden. Die CDP Klasse ermöglicht den Zugriff auf Eigenschaften von CDP_FRAME Ereignisse.

Ereignisse

CDP_FRAME
Läuft auf jedem CDP-Frame, der vom Gerät verarbeitet wird.

Eigenschaften

destination: Schnur
Die Ziel-MAC-Adresse. Das häufigste Ziel ist 01:00:0c:cc:cc:cc, gibt eine Multicast-Adresse an.
checksum: Zahl
Die CDP-Prüfsumme.
source: Gerät
Das Gerät, das den CDP-Frame sendet.
ttl: Zahl
Die Lebenszeit, ausgedrückt in Sekunden. Dies ist der Zeitraum , für den die Informationen in diesem Frame gültig sind, beginnend mit dem Zeitpunkt, an dem die Informationen empfangen wurden.
tlvs: Reihe von Objekten
Ein Array, das jedes Feld vom Typ, Länge und Wert (TLV) enthält. Ein TLV-Feld enthält Informationen wie Geräte-ID, Adresse und Plattform. Jedes Feld ist ein Objekt mit den folgenden Eigenschaften:
type: Zahl
Der Typ von TLV.
value: Puffer
Der Wert des TLV.
version: Zahl
Die CDP-Protokollversion.

CIFS

Das CIFS Klasse ermöglicht es Ihnen, Metriken zu speichern und auf Eigenschaften zuzugreifen CIFS_REQUEST und CIFS_RESPONSE Ereignisse.

Ereignisse

CIFS_REQUEST
Wird bei jeder SMB-Anfrage ausgeführt, die vom Gerät verarbeitet wird.
CIFS_RESPONSE
Wird bei jeder SMB-Antwort ausgeführt, die vom Gerät verarbeitet wird.
Hinweis:Das CIFS_RESPONSE Ereignis läuft nach jedem CIFS_REQUEST Ereignis, auch wenn die entsprechende Reaktion vom ExtraHop-System nie beobachtet wird.

Methoden

commitRecord(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore auf einem CIFS_RESPONSE Ereignis. Commits aufzeichnen am CIFS_REQUEST Ereignisse werden nicht unterstützt.

Informationen zu den Standardeigenschaften, die dem Datensatzobjekt zugewiesen wurden, finden Sie in der record Eigentum unten.

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

Eigenschaften

Wichtig:Die Zugriffszeit ist die Zeit, die ein SMB-Server benötigt, um einen angeforderten Block zu empfangen. Es gibt keine Zugriffszeit für Operationen, die nicht auf die tatsächlichen Blockdaten in einer Datei zugreifen. Die Verarbeitungszeit ist die Zeit, die ein SMB-Server benötigt, um auf den vom Client angeforderten Vorgang zu antworten, z. B. eine Anforderung zum Abrufen von Metadaten.

Es gibt keine Zugriffszeiten für SMB2_CREATE-Befehle, die eine Datei erstellen, auf die in der Antwort durch einen SMB2_FILEID-Befehl verwiesen wird. Die referenzierten Dateiblöcke werden dann vom NAS-Speichergerät gelesen oder darauf geschrieben. Diese Lese- und Schreibvorgänge für Dateien werden als Zugriffszeiten berechnet.

accessTime: Zahl
Die Zeit, die der Server für den Zugriff auf eine Datei auf der Festplatte benötigt, ausgedrückt in Millisekunden. Für SMB ist dies die Zeit vom ersten READ-Befehl in einem SMB-Flow bis zum ersten Byte der Antwort-Nutzlast. Der Wert ist NaN wenn die Messung oder der Zeitpunkt ungültig ist.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

dialect: Zeichenfolge
Der SMB-Dialekt, der zwischen dem Client und dem Server ausgehandelt wurde.
encryptedBytes: Zahl
Die Anzahl der verschlüsselten Byte in der Anfrage oder Antwort.
encryptionProtocol: Schnur
Das Protokoll, mit dem die Transaktion verschlüsselt ist.
error: Schnur
Die detaillierte Fehlermeldung, die vom ExtraHop-System aufgezeichnet wurde.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

filename: Zeichenfolge
Der Name der Datei, die übertragen wird.
isCommandCreate: Boolesch
Der Wert ist true wenn die Nachricht einen Befehl zur Erstellung einer SMB-Datei enthält.
isCommandClose: Boolesch
Der Wert ist true wenn die Nachricht einen SMB CLOSE-Befehl enthält.
isCommandDelete: Boolesch
Der Wert ist true wenn die Nachricht einen SMB DELETE-Befehl enthält.
isCommandFileInfo: Boolesch
Der Wert ist true wenn die Nachricht einen SMB-Dateiinfo-Befehl enthält.
isCommandLock: Boolesch
Der Wert ist true wenn die Nachricht einen SMB-Sperrbefehl enthält.
isCommandRead: Boolesch
Der Wert ist true wenn die Nachricht einen SMB READ-Befehl enthält.
isCommandRename: Boolesch
Der Wert ist true wenn die Nachricht einen SMB RENAME-Befehl enthält.
isCommandWrite: Boolesch
Der Wert ist true wenn die Nachricht einen SMB WRITE-Befehl enthält.
isDecrypted: Boolesch
Der Wert ist wahr, wenn das ExtraHop-System die Transaktion sicher entschlüsselt und analysiert hat. Die Analyse des entschlüsselten Datenverkehrs kann komplexe Bedrohungen aufdecken, die sich im verschlüsselten Verkehr verstecken.
isEncrypted: Boolesch
Der Wert ist wahr, wenn die Transaktion verschlüsselt ist.
isRspAborted: Boolesch
Der Wert ist wahr, wenn die Verbindung geschlossen wird, bevor die SMB-Antwort abgeschlossen war.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

isRspSigned: Boolesch
Der Wert ist wahr, wenn die Antwort vom SMB-Server signiert ist.
method: Schnur
Die SMB-Methode. Entspricht den Methoden, die unter der SMB-Metrik im ExtraHop-System aufgeführt sind.
msgID: Zahl
Die SMB-Transaktions-ID.
payload: Puffer
Das Puffer Objekt, das die Nutzdatenbytes ab dem READ- oder WRITE-Befehl in der SMB-Nachricht enthält.

Der Puffer enthält N erste Byte der Nutzlast, wobei N ist die Anzahl der Payload-Bytes, angegeben durch L7-Nutzdaten-Bytes in den Puffer Option, wenn der Auslöser über die ExtraHop WebUI konfiguriert wurde. Die Standardanzahl von Byte ist 2048. Weitere Informationen finden Sie unter Erweiterte Trigger-Optionen.

Hinweis:Der Puffer darf nicht mehr als 4 KB enthalten, auch wenn L7-Nutzdaten-Bytes in den Puffer Die Option ist auf einen höheren Wert gesetzt.

Bei größeren Mengen an Nutzlast-Bytes kann die Nutzlast auf eine Reihe von READ- oder WRITE-Befehlen verteilt werden, sodass kein einzelnes Triggerereignis die gesamte angeforderte Nutzlast enthält. Sie können die Nutzlast wieder zu einem einzigen, konsolidierten Puffer zusammensetzen, indem Sie Flow.store und payloadOffset Eigenschaften.

payloadMediaType: Schnur | Null
Der Medientyp, der in der Payload enthalten ist. Der Wert ist Null, wenn keine Nutzlast vorhanden ist oder der Medientyp unbekannt ist.
payloadOffset: Zahl
Der Dateiversatz, ausgedrückt in Byte, innerhalb von resource Eigentum. Die Payload-Eigenschaft wird abgerufen von resource Eigentum am Offset.
payloadSHA256: Schnur | Null
Die hexadezimale Darstellung des SHA-256-Hashs der Nutzlast. Die Zeichenfolge enthält keine Trennzeichen, wie im folgenden Beispiel gezeigt:
468c6c84db844821c9ccb0983c78d1cc05327119b894b5ca1c6a1318784d3675

Wenn keine Nutzlast vorhanden ist, ist der Wert Null.

processingTime: Zahl
Die Serververarbeitungszeit, ausgedrückt in Millisekunden. Der Wert ist NaN bei falsch formatierten und abgebrochenen Antworten oder wenn das Timing ungültig ist.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann CIFS.commitRecord auf einem CIFS_RESPONSE Ereignis.

Das Standard-Datensatzobjekt kann die folgenden Eigenschaften enthalten:

  • accessTime
  • clientIsExternal
  • clientZeroWnd
  • error
  • isCommandCreate
  • isCommandDelete
  • isCommandFileInfo
  • isCommandLock
  • isCommandRead
  • isCommandRename
  • isCommandWrite
  • isHighEntropy
  • method
  • processingTime
  • receiverIsExternal
  • reqPayloadMediaType
  • reqPayloadSHA256
  • reqSize
  • reqXfer
  • resource
  • rspBytes
  • rspPayloadMediaType
  • rspPayloadSHA256
  • rspXfer
  • senderIsExternal
  • serverIsExternal
  • serverZeroWnd
  • share
  • statusCode
  • user
  • warning

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqBytes: Zahl
Die Zahl der L4 Anforderungsbytes, ausgenommen L4-Header.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqL2Bytes: Zahl
Die Zahl der L2 Anforderungsbytes, einschließlich L2-Headern.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqPkts: Zahl
Die Anzahl der Anforderungspakete.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqRTO: Zahl
Die Anzahl der Anfragen Zeitüberschreitungen bei der erneuten Übertragung (RTOs).

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqSize: Zahl
Die Anzahl der L7-Anforderungsbytes, ohne SMB-Header.
reqTransferTime: Zahl
Die Übertragungszeit der Anfrage, ausgedrückt in Millisekunden. Wenn die Anfrage in einem einzigen Paket enthalten ist, ist die Übertragungszeit Null. Wenn die Anfrage mehrere Pakete umfasst, ist der Wert die Zeitspanne zwischen der Erkennung des ersten SMB-Anforderungspakets und der Erkennung des letzten Paket durch das ExtraHop-System. Ein hoher Wert kann auf eine große SMB-Anfrage oder eine Netzwerkverzögerung hinweisen. Der Wert ist NaN wenn es keine gültige Messung gibt oder wenn der Zeitpunkt ungültig ist.

Zugriff nur auf CIFS_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

reqVersion: Zeichenfolge
Die Version von SMB, die auf der Anfrage ausgeführt wird.
reqZeroWnd: Zahl
Die Anzahl der Nullfenster in der Anfrage.
resource: Schnur
Die Freigabe, der Pfad und der Dateiname sind miteinander verkettet.
roundTripTime: Zahl
Die mittlere Roundtrip-Zeit (RTT), ausgedrückt in Millisekunden. Der Wert ist NaN wenn es keine RTT-Samples gibt.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspBytes: Zahl
Die Zahl der L4 Antwortbytes, ausgenommen L4-Protokoll-Overhead, wie ACKs, Header und Neuübertragungen.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspL2Bytes: Zahl
Die Zahl der L2 Antwortbytes, einschließlich Protokoll-Overhead, wie Header.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspPkts: Zahl
Die Anzahl der Antwortpakete.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspRTO: Zahl
Die Anzahl der Antworten Zeitüberschreitungen bei der erneuten Übertragung (RTOs).

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspSize: Zahl
Die Anzahl der L7-Antwortbytes, ohne SMB-Header.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspTransferTime: Zahl
Die Übertragungszeit der Antwort, ausgedrückt in Millisekunden. Wenn die Antwort in einem einzigen Paket enthalten ist, ist die Übertragungszeit Null. Wenn die Antwort mehrere Pakete umfasst, ist der Wert die Zeitspanne zwischen der Erkennung des ersten SMB-Antwortpakets und der Erkennung des letzten Paket durch das ExtraHop-System. Ein hoher Wert kann auf eine große SMB-Antwort oder eine Netzwerkverzögerung hinweisen. Der Wert ist NaN wenn es keine gültige Messung gibt oder wenn der Zeitpunkt ungültig ist.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspVersion: Zeichenfolge
Die Version von SMB, die auf der Antwort ausgeführt wird.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspZeroWnd: Zahl
Die Anzahl der Nullfenster in der Antwort.
share: Zeichenfolge
Der Name des Shares, mit dem der Benutzer verbunden ist.
statusCode: Zahl
Der numerische Statuscode der Antwort (nur SMB1 und SMB2).

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

user: Zeichenfolge
Der Nutzername, falls verfügbar. In einigen Fällen, z. B. wenn das Anmeldeereignis nicht sichtbar war oder der Zugriff anonym war, ist der Benutzername nicht verfügbar.
warning: Zeichenfolge
Die ausführliche Warnmeldung, die vom ExtraHop-System aufgezeichnet wurde.

Zugriff nur auf CIFS_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

DB

Die DB, oder Datenbank, Klasse ermöglicht es Ihnen , Metriken zu speichern und auf Eigenschaften zuzugreifen DB_REQUEST und DB_RESPONSE Ereignisse.

Ereignisse

DB_REQUEST
Wird bei jeder Datenbankanfrage ausgeführt, die vom Gerät verarbeitet wird.
DB_RESPONSE
Läuft auf jeder Datenbankantwort, die vom Gerät verarbeitet wird.

Methoden

commitRecord(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore auf einem DB_RESPONSE Ereignis. Commits aufzeichnen für DB_REQUEST Ereignisse werden nicht unterstützt.

Die Standardeigenschaften, die dem Datensatzobjekt zugewiesen wurden, finden Sie in der record Eigentum unten.

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

Eigenschaften

appName: Schnur
Die Client Anwendungsname, der nur für MS SQL-Verbindungen extrahiert wird.
correlationId: Zahl
Die Korrelations-ID für DB2-Anwendungen. Der Wert ist null für Nicht-DB2-Anwendungen.
database: Schnur
Die Datenbankinstanz. In einigen Fällen, z. B. wenn Anmeldeereignisse verschlüsselt sind, ist der Datenbankname nicht verfügbar.
encryptionProtocol: Schnur
Das Protokoll, mit dem die Transaktion verschlüsselt ist.
error: Schnur
Die detaillierten Fehlermeldungen, die vom ExtraHop-System im Zeichenkettenformat aufgezeichnet wurden. Wenn eine Antwort mehrere Fehler enthält, werden die Fehler zu einer Zeichenfolge verkettet.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

errors: Reihe von Zeichenketten
Die detaillierten Fehlermeldungen, die vom ExtraHop-System im Array-Format aufgezeichnet wurden. Wenn die Antwort nur einen einzigen Fehler enthält, wird der Fehler als Array zurückgegeben, das eine Zeichenfolge enthält.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

isDecrypted: Boolescher Wert
Der Wert ist wahr, wenn das ExtraHop-System die Transaktion sicher entschlüsselt und analysiert hat. Durch die Analyse des entschlüsselten Datenverkehrs können komplexe Bedrohungen aufgedeckt werden, die sich im verschlüsselten Verkehr verstecken.
isEncrypted: Boolescher Wert
Der Wert ist wahr, wenn die Transaktion verschlüsselt ist.
isReqAborted: Boolescher Wert
Der Wert ist true wenn die Verbindung geschlossen wird, bevor die DB-Anfrage abgeschlossen ist.
isRspAborted: Boolescher Wert
Der Wert ist true wenn die Verbindung geschlossen wird, bevor die DB-Antwort abgeschlossen ist.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

method: Schnur
Die Datenbankmethode, die mit den Methoden korreliert, die unter der Datenbankmetrik im ExtraHop-System aufgeführt sind.
params: Reihe
Ein Array von Remote-Prozeduraufrufen (RPC) Parameter, die nur für Microsoft SQL-, PostgreSQL- und DB2-Datenbanken verfügbar sind.

Das Array enthält jeden der folgenden Parameter:

name: Schnur
Der optionale Name des angegebenen RPC-Parameters.
value: Schnur | Zahl
Ein Text-, Ganzzahl- oder Zeit- und Datumsfeld. Wenn der Wert kein Text-, Ganzzahl- oder Zeit- und Datumsfeld ist, wird der Wert in die HEX/ASCII-Form umgewandelt.

Der Wert des params Die Eigenschaft ist dieselbe, wenn auf eine der folgenden Seiten zugegriffen wird DB_REQUEST oder der DB_RESPONSE Ereignis.

procedure: Schnur
Der Name der gespeicherten Prozedur. Entspricht den Verfahren, die unter Datenbankmethoden im ExtraHop-System aufgeführt sind.
processingTime: Zahl
Die Serververarbeitungszeit, ausgedrückt in Millisekunden (entspricht rspTimeToFirstByte - reqTimeToLastByte). Der Wert ist NaN bei falsch formatierten und abgebrochenen Antworten oder wenn das Timing ungültig ist.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann DB.commitRecord auf einem DB_RESPONSE Ereignis.

Das Standarddatensatzobjekt kann die folgenden Eigenschaften enthalten:

  • App-Name
  • Kunde ist extern
  • Kunde ZeroWND
  • Korrelations-ID
  • Datenbank
  • Fehler
  • wird neu abgebrochen
  • Ist RS abgebrochen
  • Methode
  • Verfahren
  • Empfänger ist extern
  • REQ-Größe
  • ReqTime bis LastByte
  • RSP-Größe
  • RSP-Zeit bis zum ersten Byte
  • RSP-TimezuLastByte
  • Bearbeitungszeit
  • Absender ist extern
  • Server ist extern
  • Server Zero WND
  • Aussage
  • Tabelle
  • Benutzer

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqBytes: Zahl
Die Anzahl der L4 Anforderungsbytes, ausgenommen L4-Header.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqL2Bytes: Zahl
Die Anzahl der L2 Anforderungsbytes, einschließlich L2-Headern.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqPkts: Zahl
Die Anzahl der Anforderungspakete.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqRTO: Zahl
Die Anzahl der Anfragen Timeouts bei der erneuten Übertragung (RTOs).

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqSize: Zahl
Die Anzahl der L7-Anforderungsbytes, ohne Datenbankprotokoll-Header.
reqTimeToLastByte: Zahl
Die Zeit vom ersten Byte der Anforderung bis zum letzten Byte der Anforderung, ausgedrückt in Millisekunden. Retouren NaN bei falsch formatierten und abgebrochenen Anfragen oder wenn das Timing ungültig ist.
reqZeroWnd: Zahl
Die Anzahl der Nullfenster in der Anfrage.
roundTripTime: Zahl
Die mittlere Umlaufzeit (RTT), ausgedrückt in Millisekunden. Der Wert ist NaN wenn es keine RTT-Proben gibt.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspBytes: Zahl
Die Anzahl der L4 Antwortbytes, ausgenommen Overhead für das L4-Protokoll, wie ACKs, Header und erneute Übertragungen.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspL2Bytes: Zahl
Die Anzahl der L2 Antwortbytes, einschließlich Protokoll-Overhead, wie Header.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspPkts: Zahl
Die Anzahl der Antwortpakete.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspRTO: Zahl
Die Anzahl der Antworten Timeouts bei der erneuten Übertragung (RTOs).

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspSize: Zahl
Die Anzahl der L7-Antwortbytes, ohne Datenbankprotokoll-Header.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspTimeToFirstByte: Zahl
Die Zeit vom ersten Byte der Anfrage bis zum ersten Byte der Antwort, ausgedrückt in Millisekunden. Der Wert ist NaN bei fehlerhaften und abgebrochenen Antworten oder wenn das Timing ungültig ist.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspTimeToLastByte: Zahl
Die Zeit vom ersten Byte der Anfrage bis zum letzten Byte der Antwort, ausgedrückt in Millisekunden. Der Wert ist NaN bei fehlerhaften und abgebrochenen Antworten oder wenn das Timing ungültig ist.

Zugriff nur auf DB_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspZeroWnd: Zahl
Die Anzahl der Nullfenster in der Antwort.
serverVersion: Schnur
Die MS SQL Server-Version.
statement: Schnur
Die vollständige SQL-Anweisung, die möglicherweise nicht für alle Datenbankmethoden verfügbar ist.
table: Schnur
Der Name der Datenbanktabelle, die in der aktuellen Anweisung angegeben wurde. Die folgenden Datenbanken werden unterstützt:
  • Sybase
  • Sybase IQ
  • MySQL
  • PostgreSQL
  • IBM Informix
  • MS SQL TDS
  • Oracle TNS
  • DB2

Gibt ein leeres Feld zurück, wenn die Anfrage keinen Tabellennamen enthält.

user: Schnur
Der Nutzername, falls verfügbar. In einigen Fällen, z. B. wenn Anmeldeereignisse verschlüsselt sind, ist der Benutzername nicht verfügbar.

DHCP

Die DHCP Mit dieser Klasse können Sie Metriken speichern und auf Eigenschaften zugreifen DHCP_REQUEST und DHCP_RESPONSE Ereignisse.

Ereignisse

DHCP_REQUEST
Wird bei jeder vom Gerät verarbeiteten DHCP-Anfrage ausgeführt.
DHCP_RESPONSE
Läuft auf jeder vom Gerät verarbeiteten DHCP-Antwort.

Methoden

commitRecord(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore auf einem DHCP_REQUEST oder DHCP_RESPONSE Ereignis.

Das Ereignis bestimmt, welche Eigenschaften dem Record-Objekt zugewiesen werden. Die Standardeigenschaften, die für jedes Ereignis übernommen wurden, finden Sie in der record Eigentum unten.

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

getOption(optionCode: Zahl ): Objekt
Akzeptiert eine Ganzzahl für den DHCP-Optionscode als Eingabe und gibt ein Objekt zurück, das die folgenden Felder enthält:
code: Zahl
Der DHCP-Optionscode.
name: Schnur
Der Name der DHCP-Option.
payload: Zahl | Schnur
Der Typ der zurückgegebenen Nutzlast ist unabhängig vom Typ für diese spezifische Option, z. B. eine IP-Adresse, ein Array von IP-Adressen oder ein Pufferobjekt.

Retouren null wenn der angegebene Optionscode in der Nachricht nicht vorhanden ist.

Eigenschaften

chaddr: Schnur
Die Client-Hardwareadresse des DHCP-Clients.
clientReqDelay: Zahl
Die Zeit verging vor dem Client versucht, eine DHCP-Lease zu erwerben oder zu erneuern, ausgedrückt in Sekunden.

Zugriff nur auf DHCP_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

error: Schnur
Die mit dem Optionscode 56 verbundene Fehlermeldung. Der Wert ist null wenn es keinen Fehler gibt.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

gwAddr: IP-Adresse
Die IP-Adresse, über die Router Anforderungs- und Antwortnachrichten weiterleiten.
htype: Zahl
Der Hardwaretypcode.
msgType: Schnur
Der DHCP-Nachrichtentyp. Folgende Nachrichtentypen werden unterstützt:
  • DHCPDISCOVER
  • DHCPOFFER
  • DHCPREQUEST
  • DHCPDECLINE
  • DHCPACK
  • DHCPNAK
  • DHCPRELEASE
  • DHCPINFORM
  • DHCPFORCERENEW
  • DHCPLEASEQUERY
  • DHCPLEASEUNASSIGNED
  • DHCPLEASEUNKNOWN
  • DHCPLEASEACTIVE
  • DHCPBULKLEASEQUERY
  • DHCPLEASEQUERYDONE
offeredAddr: IP-Adresse
Die IP-Adresse, die der DHCP-Server anbietet oder dem zuweist Client.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

options: Reihe von Objekten
Eine Reihe von Objekten, wobei jedes Objekt die folgenden Felder enthält:
code: Zahl
Der DHCP-Optionscode.
name: Schnur
Der Name der DHCP-Option.
payload: Zahl | Schnur
Der Typ der zurückgegebenen Nutzlast ist unabhängig vom Typ für diese spezifische Option, z. B. eine IP-Adresse, ein Array von IP-Adressen oder ein Pufferobjekt. IP-Adressen werden in ein Array geparst, aber wenn die Anzahl der Byte nicht durch 4 teilbar ist, wird sie stattdessen als Puffer zurückgegeben.
paramReqList: Schnur
Eine durch Kommas getrennte Liste von Zahlen, die die vom Client vom Server angeforderten DHCP-Optionen darstellt. Eine vollständige Liste der DHCP-Optionen finden Sie unter https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml.
processingTime: Zahl
Die Prozesszeit, ausgedrückt in Millisekunden. Der Wert ist NaN bei falsch formatierten und abgebrochenen Antworten oder wenn das Timing ungültig ist .

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann DHCP.commitRecord entweder auf einem DHCP_REQUEST oder DHCP_RESPONSE Ereignis.

Das Ereignis, für das die Methode aufgerufen wurde, bestimmt, welche Eigenschaften das Standard-Datensatzobjekt enthalten kann, wie in der folgenden Tabelle dargestellt:

DHCP_REQUEST DHCP_RESPONSE
clientIsExternal clientIsExternal
clientReqDelay error
gwAddr gwAddr
htype htype
msgType msgType
receiverIsExternal offeredAddr
reqBytes processingTime
reqL2Bytes rspBytes
reqPkts rspL2Bytes
senderIsExternal rspPkts
serverIsExternal receiverIsExternal
txId senderIsExternal
  serverIsExternal
  txId
reqBytes: Zahl
Die Anzahl der L4 Anforderungsbytes, ausgenommen L4-Header.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqL2Bytes: Zahl
Die Anzahl der L2 Anforderungsbytes, einschließlich L2-Headern.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

reqPkts: Zahl
Die Anzahl der Anforderungspakete.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspBytes: Zahl
Die Anzahl der L4 Antwortbytes, ausgenommen L4-Protokoll-Overhead, wie ACKs, Header und erneute Übertragungen.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspL2Bytes: Zahl
Die Anzahl der L2 Antwortbytes, einschließlich Protokoll-Overhead, wie Header.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspPkts: Zahl
Die Anzahl der Antwortpakete.

Zugriff nur auf DHCP_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

txId: Zahl
Die Transaktions-ID.
vendor: Schnur
Der Vendor Class Identifier (VCI), der den Anbieter angibt, der auf dem Client oder Server ausgeführt wird.

DICOM

Die DICOM In der Klasse (DICOM) können Sie Metriken speichern und auf Eigenschaften zugreifen DICOM_REQUEST und DICOM_RESPONSE Ereignisse.

Ereignisse

DICOM_REQUEST
Läuft bei jeder DICOM-Anfrage, die vom Gerät verarbeitet wird.
DICOM_RESPONSE
Läuft auf jeder vom Gerät verarbeiteten DICOM-Antwort.

Methoden

commitRecord(): Leere
Sendet einen Datensatz an den konfigurierten Recordstore auf einem DICOM_REQUEST oder DICOM_RESPONSE Ereignis.

Das Ereignis bestimmt, welche Eigenschaften dem Record-Objekt zugewiesen werden. Die Standardeigenschaften, die für jedes Ereignis festgeschrieben wurden, finden Sie in record Eigentum unten.

Bei integrierten Datensätzen wird jeder eindeutige Datensatz nur einmal festgeschrieben, auch wenn commitRecord() Methode wird mehrmals für denselben eindeutigen Datensatz aufgerufen.

findElement(groupTag: Zahl , elementTag: Zahl ): Puffer
Gibt einen Puffer zurück, der das DICOM-Datenelement enthält, das durch die übergebenen Gruppen - und Element-Tag-Nummern angegeben ist.

Das Datenelement wird durch ein eindeutiges geordnetes Ganzzahlpaar dargestellt, das die Gruppen-Tag- und Element-Tag-Nummern darstellt. Beispielsweise steht das geordnete Paar „0008, 0008" für das Element „Bildtyp". EIN Registrierung der DICOM-Datenelemente und definierte Tags sind verfügbar unter dicom.nema.org.

groupTag: Zahl
Die erste Zahl in dem eindeutigen geordneten Ganzzahlpaar, das ein bestimmtes Datenelement darstellt.
elementTag: Zahl
Die zweite Zahl in dem eindeutigen geordneten Paar oder den ganzen Zahlen, die ein bestimmtes Datenelement darstellen.

Eigenschaften

calledAETitle: Schnur
Der Titel der Anwendungseinheit (AE) des Zielgeräts oder -programms.
callingAETitle: Schnur
Der Titel der Anwendungseinheit (AE) des Quellgeräts oder -programms.
elements: Reihe
Eine Reihe von PDV-Befehlselementen (Presentation Data Values) und Datenelementen, die eine DICOM-Nachricht umfassen.
error: Schnur
Die detaillierte Fehlermeldung, die vom ExtraHop-System aufgezeichnet wurde.
isReqAborted: Boolescher Wert
Der Wert ist true wenn die Verbindung geschlossen wird, bevor die DICOM-Anforderung abgeschlossen ist.

Zugriff nur auf DICOM_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

isRspAborted: Boolescher Wert
Der Wert ist true wenn die Verbindung geschlossen wird, bevor die DICOM-Antwort abgeschlossen ist.

Zugriff nur auf DICOM_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

isSubOperation: Boolescher Wert
Der Wert ist true wenn die Timing-Metrik auf einem L7 Die Protokollnachricht ist nicht verfügbar, da die primäre Anfrage oder Antwort nicht vollständig ist.
methods: Reihe von Zeichenketten
Eine Reihe von Befehlsfeldern in der Nachricht. Jedes Befehlsfeld gibt einen DIMSE-Operationsnamen an, z. B. N-CREATE-RSP.
processingTime: Zahl
Die Serververarbeitungszeit, ausgedrückt in Millisekunden. Der Wert ist NaN bei falsch formatierten und abgebrochenen Antworten oder wenn das Timing ungültig ist.

Zugriff nur auf DICOM_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

record: Objekt
Das Datensatzobjekt, das durch einen Aufruf von an den konfigurierten Recordstore gesendet werden kann DICOM.commitRecord entweder auf einem DICOM_REQUEST oder DICOM_RESPONSE Ereignis.

Das Ereignis, für das die Methode aufgerufen wurde, bestimmt, welche Eigenschaften das Standard-Datensatzobjekt enthalten kann, wie in der folgenden Tabelle dargestellt:

DICOM_REQUEST DICOM_RESPONSE
calledAETitle calledAETitle
callingAETitle callingAETitle
clientIsExternal clientIsExternal
clientZeroWnd clientZeroWnd
error error
isReqAborted isRspAborted
isSubOperation isSubOperation
method method
receiverIsExternal processingTime
reqPDU receiverIsExternal
reqSize rspPDU
reqTransferTime rspSize
senderIsExternal rspTransferTime
serverIsExternal senderIsExternal
serverZeroWnd serverIsExternal
version serverZeroWnd
  version
reqBytes: Zahl
Die Anzahl der L4 Anforderungsbytes, ausgenommen L4-Header.

Zugriff nur auf DICOM_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

reqL2Bytes: Zahl
Die Anzahl der L2 Anforderungsbytes, einschließlich L2-Header.
reqPDU: Schnur
Die Protocol Data Unit (PDU) oder das Nachrichtenformat der Anfrage.
reqPkts: Zahl
Die Anzahl der Anforderungspakete.
reqRTO: Zahl
Die Anzahl der Anfragen Timeouts bei der erneuten Übertragung (RTOs).
reqSize: Zahl
Die Anzahl der L7-Anforderungsbytes.

Zugriff nur auf DICOM_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

reqTransferTime: Zahl
Die Übertragungszeit der Anfrage, ausgedrückt in Millisekunden.

Zugriff nur auf DICOM_REQUEST Ereignisse; andernfalls tritt ein Fehler auf.

reqZeroWnd: Zahl
Die Anzahl der Nullfenster in der Anfrage.
roundTripTime: Zahl
Die mittlere Umlaufzeit (RTT), ausgedrückt in Millisekunden. Der Wert ist NaN wenn es keine RTT-Proben gibt.

Zugriff nur auf DICOM_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspBytes: Zahl
Die Anzahl der L4 Antwortbytes, ausgenommen Overhead für das L4-Protokoll, wie ACKs, Header und erneute Übertragungen.

Zugriff nur auf DICOM_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspL2Bytes: Zahl
Die Anzahl der L2 Antwortbytes, einschließlich Protokoll-Overhead, wie Header.
rspPDU: Schnur
Die Protocol Data Unit (PDU) oder das Nachrichtenformat der Antwort.

Zugriff nur auf DICOM_RESPONSE Ereignisse; andernfalls tritt ein Fehler auf.

rspPkts: Zahl
Die Anzahl der Antwortpakete.
rspRTO: Zahl
Die Anzahl der Antworten