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.
API-Ressourcen auslösen
Dieser Abschnitt enthält eine Liste von Themen, die Ihnen helfen, sich mit den Konzepten von Auslöser, der Erstellung eines Auslöser und bewährten Methoden vertraut zu machen.
- Trigger
- Einen Auslöser erstellen
- Triggerleistung überwachen
- Leitfaden zu bewährten Methoden für Triggers
- Häufig gestellte Fragen zum Auslöser
- Exemplarische Vorgehensweise: Erstellen Sie einen Auslöser, um benutzerdefinierte Metriken für HTTP 404-Fehler zu sammeln
- Exemplarische Vorgehensweise: Initiieren Sie präzise Paketerfassungen, um Bedingungen ohne Fenster zu analysieren
- Exemplarische Vorgehensweise: Erstellen Sie einen Auslöser, um Antworten auf NTP-Monlist-Anfragen zu überwachen
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
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.
|
- 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.
Beispiele für Trigger
- Beispiel: SMB-Aktionen auf Geräten überwachen
- Beispiel: HTTP-Antworten auf 500-Ebene nach Kunden-ID und URI verfolgen
- Beispiel: Antwortmetriken für Datenbankabfragen sammeln
- Beispiel: Erkannte Gerätedaten an einen Remote-Syslog-Server senden
- Beispiel: Zugriff auf HTTP-Header-Attribute
- Beispiel: Memcache-Treffer und Fehlschläge aufzeichnen
- Beispiel: Memcache-Schlüssel analysieren
- Beispiel: Analysieren von benutzerdefinierten PoS-Nachrichten mit universeller Nutzlastanalyse
- Beispiel: Metriken zum Metric Cycle Store hinzufügen
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.
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:port—tcp: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.
Beispiele für Trigger
- Beispiel: SMB-Aktionen auf Geräten überwachen
- Beispiel: HTTP-Antworten auf 500-Ebene nach Kunden-ID und URI verfolgen
- Beispiel: Analysieren von benutzerdefinierten PoS-Nachrichten mit universeller Nutzlastanalyse
- Beispiel: Syslog über TCP mit universeller Nutzlastanalyse analysieren
- Beispiel: NTP mit universeller Nutzlastanalyse analysieren
- Beispiel: SOAP-Anfragen verfolgen
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.
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.
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.
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).
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.
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
Danke für deine Rückmeldung. Dürfen wir Sie kontaktieren, um weitere Fragen zu stellen?