Référence de l'API Trigger

Vue d'ensemble

Les déclencheurs d'inspection des applications sont composés d'un code défini par l'utilisateur qui s' exécute automatiquement en fonction des événements du système via l'API de déclenchement ExtraHop. En écrivant des déclencheurs, vous pouvez collecter des données métriques personnalisées sur les activités de votre réseau. En outre, les déclencheurs peuvent effectuer des opérations sur protocole des messages (tels qu'un HTTP request) avant que le paquet ne soit supprimé.

Le système ExtraHop surveille, extrait et enregistre un ensemble de base de couches 7 (L7) des métriques relatives aux appareils du réseau, telles que le nombre de réponses, le nombre d'erreurs et les temps de traitement. Une fois ces métriques enregistrées pour un protocole L7 donné, les paquets sont supprimés, libérant ainsi des ressources pour la poursuite du traitement.

Les déclencheurs vous permettent de :

  • Générez et stockez des métriques personnalisées dans la banque de données interne du système ExtraHop. Par exemple, bien que le système ExtraHop ne collecte pas d'informations sur l'agent utilisateur qui a généré une requête HTTP, vous pouvez générer et collecter ce niveau de détail en écrivant un déclencheur et en validant les données dans la banque de données. Vous pouvez également afficher les données personnalisées stockées dans la banque de données en créant des pages de mesures personnalisées et en affichant ces mesures via l' explorateur de mesures et tableaux de bord.
  • Générez et envoyez des enregistrements pour un stockage à long terme et une extraction vers un espace de stockage des enregistrements.
  • Créez une application définie par l'utilisateur qui collecte des métriques sur plusieurs types de trafic réseau afin de recueillir des informations ayant un impact sur tous les niveaux. Par exemple, pour obtenir une vue unifiée de l' ensemble du trafic réseau associé à un site Web, des transactions Web aux DNS demandes et réponses aux transactions de base de données : vous pouvez créer une application contenant toutes ces mesures relatives au site Web.
  • Générez des métriques personnalisées et envoyez les informations aux utilisateurs de Syslog tels que Splunk, ou à des bases de données tierces telles que MongoDB ou Kafka.
  • Lancez une capture de paquets pour enregistrer des flux individuels en fonction de critères définis par l'utilisateur. Vous pouvez télécharger les flux capturés et les traiter à l'aide d'outils tiers. Votre système ExtraHop doit disposer d'une licence pour la capture de paquets pour accéder à cette fonctionnalité.

Le but de ce guide est de fournir des informations de référence lors de l'écriture des blocs de code JavaScript qui s'exécutent lorsque les conditions du déclencheur sont remplies. Le Ressources de l'API de déclenchement Cette section contient une liste de rubriques qui fournissent une vue d' ensemble complète des concepts et procédures relatifs aux déclencheurs.

Types de données pour les métriques personnalisées

L'API ExtraHop Trigger vous permet de créer des métriques personnalisées qui collectent des données sur votre environnement, au-delà de ce qui est fourni par les métriques du protocole intégré.

Vous pouvez créer des métriques personnalisées à partir des types de données suivants :

compter

Le nombre d'événements métriques survenus au cours d'une période donnée. Par exemple, pour enregistrer des informations sur le nombre de requêtes HTTP au fil du temps, sélectionnez une métrique de dénombrement de niveau supérieur. Vous pouvez également sélectionner une métrique de nombre de détails pour enregistrer des informations sur le nombre de fois clients a accédé à un serveur, avec la clé IPAddress et un entier représentant le nombre d'accès sous forme de valeur.

instantané
Type spécial de métrique de comptage qui, lorsqu'elle est interrogée au fil du temps, renvoie la valeur la plus récente (telle que les connexions TCP établies).
distincte
Nombre estimé d'éléments uniques observés au fil du temps, tels que le nombre de ports uniques ayant reçu des paquets SYN, un nombre élevé pouvant indiquer une analyse des ports.
jeu de données
Un résumé statistique des informations temporelles, tel qu'un résumé à 5 chiffres : min, 25e percentile, médiane, 75e percentile, max. Par exemple, pour enregistrer des informations sur le temps de traitement HTTP au fil du temps, sélectionnez un niveau supérieur jeu de données métrique.
ensemble d'échantillons
Résumé statistique des informations temporelles, telles que la moyenne et l'écart type. Par exemple, pour enregistrer des informations sur le temps nécessaire au serveur pour traiter chaque URI, sélectionnez un ensemble d'échantillons détaillé avec la clé de chaîne d'URI et un entier représentant le temps de traitement sous forme de valeur.
max
Type spécial de métrique de comptage qui préserve le maximum. Par exemple, pour enregistrer les instructions HTTP les plus lentes au fil du temps sans vous fier à une table de session, sélectionnez une métrique de niveau supérieur et une métrique maximale de détail.

Les métriques personnalisées sont prises en charge pour les types de sources suivants :

Pour plus d'informations sur les différences entre les mesures de haut niveau et les mesures détaillées, consultez le FAQ sur les métriques.

Fonctions globales

Les fonctions globales peuvent être appelées sur n'importe quel événement.

cache(key: Corde , valueFn: () => N'importe lequel ): N'importe lequel
Met en cache les paramètres spécifiés dans une table pour permettre une recherche et un renvoi efficaces de grands ensembles de données.
key: Corde
Un identifiant qui indique l'emplacement de la valeur mise en cache. Une clé doit être unique au sein d'un déclencheur.
valueFn: () => N'importe lequel
Fonction sans argument qui renvoie une valeur non nulle.

Dans l'exemple suivant, cache la méthode est appelée avec de grandes quantités de données codées en dur dans le script déclencheur  :

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)];
}

Dans l'exemple suivant, la liste des agents utilisateurs connus dans un déclencheur JBoss est normalisée avant d'être comparée à l'agent utilisateur observé. Le déclencheur convertit la liste en minuscules et supprime les espaces superflus, puis met les entrées en 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: Corde , options: Objet )
Génère une détection sur le système ExtraHop.
type: Corde
Un type défini par l'utilisateur pour la définition, tel que brute_force_attack. Tu peux syntoniser les détections pour masquer plusieurs détections du même type. La chaîne ne peut contenir que des lettres, des chiffres et des traits de soulignement.
options: Objet
Un objet qui spécifie les propriétés suivantes pour la détection :
title: Corde
Titre défini par l'utilisateur qui identifie la détection.
description: Corde
Description de la détection.
riskScore: Numéro | nul
Nombre facultatif compris entre 1 et 99 qui représente l'indice de risque de la détection.
participants: Tableau d'objets
Un ensemble facultatif d'objets participants associés à la détection. Un objet participant doit contenir les propriétés suivantes :
object: Objet
L'objet de l'appareil, de l'application ou de l'adresse IP associé au participant.
role: Corde
Le rôle du participant à la détection. Les valeurs suivantes sont valides :
  • offender
  • victim
identityKey: Corde | nul
Un identifiant unique qui permet des détections continues. Si plusieurs détections avec la même clé d'identité et le même type de détection sont générées au cours de la période spécifiée par le identityTtl propriété, les détections sont consolidées en une seule détection continue.
Remarque :Si le système ExtraHop génère un grand nombre de détections avec des clés d'identité uniques, il se peut que le système ne parvienne pas à consolider certaines détections en cours. Toutefois, le système ne générera pas plus de 250 détections individuelles pour un déclencheur par jour.
identityTtl: Corde
Durée après la génération d'une détection pendant laquelle les détections dupliquées sont consolidées dans une détection continue.

Une fois qu'une détection est générée, si une autre détection avec la même clé d'identité et le même type de détection est générée dans le délai spécifié, les deux détections sont consolidées en une seule détection continue. Chaque fois qu'une détection est consolidée en une détection continue, la période est réinitialisée et la détection ne s'arrête pas avant l'expiration de cette période. Par exemple, si identityTtl est réglé sur day, et quatre détections en double sont générées chacune à 12 heures d'intervalle, la détection continue s'étalant sur trois jours. Les périodes de validité suivantes sont les suivantes :

  • hour
  • day
  • week

La période par défaut est hour.

commitRecord(id: Corde , record: Objet ): vide
Envoie un objet d'enregistrement personnalisé à l'espace de stockage des enregistrements configuré.
id: Corde
L'ID du type d'enregistrement à créer. L'ID ne peut pas commencer par un tilde (~).
record: Objet
Objet contenant une liste de paires de propriétés et de valeurs à envoyer à l'espace de stockage des enregistrements configuré en tant qu'enregistrement personnalisé.

Les propriétés suivantes sont automatiquement ajoutées aux enregistrements et ne sont pas représentées sur les objets renvoyés par les accesseurs d'enregistrement intégrés, telles que HTTP.record:

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

Par exemple, pour accéder à flowID propriété dans un enregistrement HTTP, vous devez inclure HTTP.record.Flow.id dans votre déclaration.

Important :Pour éviter des données inattendues dans l'enregistrement ou une exception lors de l'appel de la méthode, les noms de propriété répertoriés ci-dessus ne peuvent pas être spécifiés en tant que nom de propriété dans des enregistrements personnalisés.

En outre, le nom d'une propriété figurant dans les enregistrements personnalisés ne peut contenir aucun des caractères suivants :

.
Période
:
Colon
[
Support carré
]
Support carré

Dans l'exemple suivant, les deux paires de propriétés et de valeurs qui ont été ajoutées à record les variables sont enregistrées dans un enregistrement personnalisé par commitRecord fonction :

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

Pour la plupart des événements, vous pouvez valider un enregistrement intégré contenant les propriétés par défaut. Par exemple, un enregistrement intégré tel que le HTTP.record L'objet peut servir de base à un enregistrement personnalisé.

L'exemple de code suivant valide un enregistrement personnalisé qui inclut toutes les métriques intégrées du HTTP.record objet et une métrique supplémentaire provenant du HTTP.headers propriété :

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

Vous pouvez accéder à un objet d'enregistrement intégré pour les événements suivants :

Classe Évènements
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: Corde ): vide
Ecrit au journal de débogage si le débogage est activé. La taille maximale des messages est de 2 048 octets. Les messages de plus de 2 048 octets sont tronqués.
getTimestamp(): Numéro
Renvoie l'horodateur du paquet qui a provoqué l'exécution de l'événement déclencheur, exprimé en millisecondes, les microsecondes étant le segment fractionnaire après la virgule.
log(message: Corde ): vide
Écrit dans le journal de débogage, que le débogage soit activé ou non.

Les appels multiples pour déboguer et enregistrer des instructions dans lesquelles le message a la même valeur seront affichés toutes les 30 secondes.

La limite des entrées du journal de débogage est de 2 048 octets. Pour enregistrer des entrées plus volumineuses, voir Remote.Syslog.

md5(message: Corde | Tampon ): Corde
Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme MD5 de la chaîne.
sha1(message: Corde | Tampon ): Corde
Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme SHA-1 de la chaîne.
sha256(message: Corde | Tampon ): Corde
Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme SHA-256 de la chaîne.
sha512(message: Corde | Tampon ): Corde
Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme SHA-512 de la chaîne.
uuid(): Corde
Renvoie un identifiant unique universel (UUID) aléatoire version 4.

Cours à usage général

Les classes de l'API Trigger présentées dans cette section fournissent des fonctionnalités largement applicables à tous les événements.

Classe Descriptif
Application Vous permet de créer de nouvelles applications et d'ajouter des métriques personnalisées au niveau de l'application.
Tampon Vous permet d'accéder au contenu de la mémoire tampon.
Detection Vous permet de récupérer des informations sur les détections sur le système ExtraHop.
Device Vous permet de récupérer les attributs de l'équipement et d'ajouter des mesures personnalisées au niveau de l'équipement.
Discover Vous permet d'accéder aux appareils et applications récemment découverts.
Flow Le flux fait référence à une conversation entre deux points de terminaison via un protocole tel que TCP, UDP ou ICMP. La classe Flow permet d'accéder à des éléments de ces conversations, tels que les adresses IP des points de terminaison et l'âge du flux. La classe Flow contient également un magasin de flux conçu pour transmettre des objets d'une demande à une réponse sur le même flux.
FlowInterface Vous permet de récupérer les attributs de l'interface de flux et d'ajouter des métriques personnalisées au niveau de l' interface.
FlowNetwork Vous permet de récupérer les attributs du réseau de flux et d'ajouter des métriques personnalisées au niveau du réseau de flux.
GeoIP Vous permet de récupérer l'emplacement approximatif d'une adresse IP spécifique au niveau du pays ou de la ville.
IPAddress Permet de récupérer les attributs d'adresse IP.
Network Vous permet d'ajouter des métriques personnalisées au niveau global.
Session Vous permet d'accéder au tableau des sessions, qui permet la coordination entre plusieurs déclencheurs s'exécutant indépendamment.
System Vous permet d'accéder aux propriétés qui identifient le système ExtraHop sur lequel un déclencheur est exécuté.
ThreatIntel Vous permet de voir si une adresse IP, un nom d'hôte ou un URI est suspect.
Trigger Vous permet d'accéder aux informations relatives à un déclencheur en cours d'exécution.
VLAN Vous permet d'accéder aux informations relatives à un VLAN sur le réseau.

Application

Le Application La classe vous permet de collecter des métriques sur plusieurs types de trafic réseau afin de capturer des informations ayant un impact à plusieurs niveaux. Par exemple, si vous souhaitez obtenir une vue unifiée de l'ensemble du trafic réseau associé à un site Web (des transactions Web aux requêtes DNS, en passant par les réponses aux transactions de base de données), vous pouvez créer un déclencheur pour créer une application personnalisée contenant toutes ces mesures connexes. Le Application La classe vous permet également de créer des métriques personnalisées et de valider les données métriques dans des applications. Les applications ne peuvent être créées et définies que par le biais de déclencheurs.

Méthodes d'instance

Les méthodes de cette section ne peuvent pas être appelées directement sur Application classe. Vous ne pouvez appeler ces méthodes que sur des instances de classe Application spécifiques. Par exemple, la déclaration suivante est valide :

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

Toutefois, la déclaration suivante n'est pas valide :

Application.metricAddCount("responses", 1);
commit(id: Corde ): vide
Crée une application, valide les métriques intégrées associées à l'événement dans l' application et ajoute l'application à tous les enregistrements intégrés ou personnalisés enregistrés pendant l'événement.

L'ID de l'application doit être une chaîne. Pour les métriques intégrées aux applications, les métriques ne sont validées qu'une seule fois, même si commit() La méthode est appelée plusieurs fois lors du même événement.

L'instruction suivante crée une application nommée « MyApp » et valide les métriques intégrées dans l' application :

Application("myApp").commit();

Si vous envisagez de valider des métriques personnalisées dans une application, vous pouvez créer l'application sans appeler le commit() méthode. Par exemple, si l'application n'existe pas encore, l'instruction suivante crée l'application et valide la métrique personnalisée dans l' application :

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

Vous pouvez appeler le Application.commit méthode uniquement sur les événements suivants :

Types de métriques Événement
AAA AAA_REQUEST -et- AAA_RESPONSE
AJP AJP_RESPONSE
CIFS CIFS_RESPONSE
DB DB_RESPONSE
DHCP DHCP_REQUEST -et- DHCP_RESPONSE
DNS DNS_REQUEST -et- DNS_RESPONSE
FIX FIX_REQUEST -et- FIX_RESPONSE
FTP FTP_RESPONSE
HTTP HTTP_RESPONSE
IBMMQ IBMMQ_REQUEST -et- IBMMQ_RESPONSE
ICA ICA_TICK -et- ICA_CLOSE
Kerberos KERBEROS_REQUEST -et- KERBEROS_RESPONSE
LDAP LDAP_REQUEST -et- LDAP_RESPONSE
Memcache MEMCACHE_REQUEST -et- MEMCACHE_RESPONSE
Modbus MODBUS_RESPONSE
MongoDB MONGODB_REQUEST -et- MONGODB_RESPONSE
NAS CIFS_RESPONSE -et/ou- NFS_RESPONSE
NetFlow NETFLOW_RECORD

Notez que la validation n'aura pas lieu si des identifiants d'entreprise sont présents dans l'enregistrement NetFlow.

NFS NFS_RESPONSE
RDP RDP_TICK
Redis REDIS_REQUEST -et- REDIS_RESPONSE
RPC RPC_REQUEST -et- RPC_RESPONSE
RTP RTP_TICK
RTCP RTCP_MESSAGE
SCCP SCCP_MESSAGE
SIP SIP_REQUEST -et- SIP_RESPONSE
SFlow SFLOW_RECORD
SMTP SMTP_RESPONSE
SSH SSH_CLOSE -et- SSH_TICK
SSL SSL_RECORD -et- SSL_CLOSE
WebSocket WEBSOCKET_OPEN, WEBSOCKET_CLOSE, et WEBSOCKET_MESSAGE
metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de comptage. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Le nom de la métrique de comptage de niveau supérieur.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de comptage par lequel vous pouvez approfondir. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de l'ensemble de données. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique de l'ensemble de données de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de l'ensemble de données par lequel vous pouvez approfondir. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation niveau supérieur métrique de comptage distincte. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique de comptage distincte de niveau supérieur.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation détail métrique de comptage distincte par lequel vous pouvez approfondir. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique de comptage distincte détaillée.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique maximale. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Le nom de la métrique maximale de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique maximale par lequel vous pouvez approfondir. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique maximale de détail.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur Sampleset métrique. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail Sampleset métrique par lequel vous pouvez approfondir. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de capture d'écran. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique de capture instantanée de niveau supérieur.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de capture d'écran par lequel vous pouvez approfondir. Valide les données métriques dans l'application spécifiée.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
toString(): Corde
Renvoie l'objet Application sous forme de chaîne au format suivant :
[object Application <application_id>]

Propriétés de l'instance

id: Corde
L'identifiant unique de l'application, tel qu'indiqué dans le système ExtraHop sur la page de cette application.

Tampon

Le Buffer La classe donne accès à des données binaires.

Un tampon est un objet présentant les caractéristiques d'un tableau. Chaque élément du tableau est un nombre compris entre 0 et 255, représentant un octet. Chaque objet tampon possède une propriété de longueur (le nombre d'éléments dans un tableau) et un opérateur entre crochets.

La charge utile chiffrée n'est pas déchiffrée pour l'analyse de la charge utile TCP et UDP.

UDP_PAYLOAD nécessite une chaîne correspondante mais TCP_PAYLOAD ne le fait pas. Si vous ne spécifiez pas de chaîne correspondante pour TCP_PAYLOAD, le déclencheur s'exécute une fois après les N premiers octets de charge utile.

Méthodes

Buffer(string: Corde | format: Corde )
Constructeur de la classe Buffer qui décode une chaîne codée en un objet Buffer. Les paramètres suivants sont obligatoires :
string: Corde
La chaîne codée.
format: Corde
Format dans lequel l'argument de chaîne est encodé. Les formats de codage suivants sont valides :
  • base64
  • base64url

Méthodes d'instance

decode(type: Corde ): Corde
Interprète le contenu de la mémoire tampon et renvoie une chaîne avec l'une des options suivantes :
  • utf-8
  • utf-16
  • ucs2
  • hex
equals(buffer: Tampon ): Booléen
Effectue un test d'égalité entre les objets Buffer, où buffer est l' objet à comparer.
slice(start: Numéro , end: Numéro ): Tampon
Renvoie les octets spécifiés dans un tampon sous la forme d'un nouveau tampon. Les octets sont sélectionnés à partir de l'argument de début donné et se terminant à l'argument de fin (sans inclure).
start: Numéro
Entier qui indique où commencer la sélection. Spécifiez les nombres négatifs à sélectionner à la fin d'une zone tampon. Il s'agit d'une base zéro.
end: Numéro
Nombre entier facultatif qui indique où terminer la sélection. En cas d'omission, tous les éléments situés entre la position de départ et la fin de la zone tampon seront sélectionnés. Spécifiez les nombres négatifs à sélectionner à la fin d'une zone tampon. Il s'agit d'une base zéro.
toString(format: Corde ): Corde
Convertit le buffer en chaîne. Le paramètre suivant est facultatif :
format: Corde
Le format avec lequel encoder la chaîne. Si aucun encodage n'est spécifié, la chaîne n'est pas encodée. Les formats de codage suivants sont valides :
  • base64
  • base64url
  • hex
unpack(format: Corde , offset: Numéro ): Array
Traite les données binaires ou à largeur fixe à partir de n'importe quel objet tampon, tel que celui renvoyé par HTTP.payload, Flow.client.payload, ou Flow.sender.payload, selon la chaîne de format donnée et, éventuellement, selon le décalage spécifié.

Renvoie un tableau JavaScript contenant un ou plusieurs champs décompressés et contenant la position absolue en octets de charge utile +1 du dernier octet de l'objet décompressé. La valeur en octets peut être spécifiée comme décalage lors d' appels ultérieurs pour décompresser un tampon.

Remarque :
  • Le buffer.unpack La méthode interprète les octets dans l'ordre big-endian par défaut. Pour interpréter les octets dans l'ordre little-endian, préfixez la chaîne de format avec un signe inférieur à (<).
  • Le format ne doit pas nécessairement consommer la totalité de la mémoire tampon.
  • Les octets nuls ne sont pas inclus dans les chaînes décompressées. Par exemple : buf.unpack('4s')[0] - > 'example'.
  • Le caractère de format z représente des chaînes de longueur variable terminées par des valeurs nulles. Si le dernier champ est z, la chaîne est produite, que le caractère nul soit présent ou non.
  • Une exception est déclenchée lorsque tous les champs ne peuvent pas être décompressés car la mémoire tampon ne contient pas suffisamment de données.

Le tableau ci-dessous répertorie les formats de chaîne de mémoire tampon pris en charge :

Formater Type C Type de JavaScript Taille standard
x pad type aucune valeur  
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 court métrage non signé 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  

Propriétés de l'instance

length: Numéro
Le nombre d'octets dans la mémoire tampon.

Detection

Le Detection class vous permet de récupérer des informations sur les détections sur le système ExtraHop.

Remarque :Les détections par apprentissage automatique nécessitent connexion aux services cloud ExtraHop .

Évènements

DETECTION_UPDATE
S'exécute lorsqu'une détection est créée ou mise à jour sur le système ExtraHop.
Important :Cet événement s'exécute pour toutes les détections, quel que soit l'accès au module accordé à l'utilisateur qui crée le déclencheur. Par exemple, les déclencheurs créés par les utilisateurs ayant accès au module NPM s'exécutent sur DETECTION_UPDATE événements pour les détections de sécurité et de performance.
Remarque :Cet événement ne s'exécute pas lorsque l'état d'un ticket de détection est mis à jour. Par exemple, la modification d'un responsable de la détection ne provoquera pas l'exécution de l'événement DETECTION_UPDATE. Cet événement ne s'exécute pas non plus pour les détections masquées.
Remarque :Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.

Propriétés

applianceId: Numéro
Si vous faites appel à un console, renvoie l'ID de la sonde connectée sur laquelle la détection a eu lieu. En cas d'appel sur une sonde, renvoie 0.
assignee: Corde
L'assigné du ticket associé à la détection.
categories: Tableau de cordes
Liste des catégories auxquelles appartient la détection.

Les valeurs suivantes sont valides :

Valeur Catégorie
sec Sécurité
sec.action Actions par rapport à l'objectif
sec.botnet botnet
sec.caution Attention
sec.command Commandement et contrôle
sec.cryptomining Cryptominage
sec.dos Déni de service
sec.exfil Exfiltration
sec.exploit Exploitation
sec.hardening Durcissement
sec.lateral Mouvement latéral
sec.ransomware Un ransomware
sec.recon Reconnaissance
perf Rendement
perf.auth Autorisation et contrôle d'accès
perf.db Base de données
perf.network Infrastructure réseau
perf.service Dégradation du service
perf.storage Rangement
perf.virtual Virtualisation des ordinateurs de bureau et des applications
perf.web Application Web
description: Corde
Description de la détection.
Conseil :Il est souvent plus facile d'extraire des informations relatives à une détection à partir du Detection.properties propriété plutôt que d'analyser la Detection.description texte. Pour plus d'informations, consultez Detection.properties description.

Le tableau suivant répertorie les formats Markdown courants que vous pouvez inclure dans la description :

Formater Descriptif Exemple
Rubriques Placez un signe numérique (#) et un espace devant votre texte pour mettre en forme les titres. Le niveau du titre est déterminé par le nombre de signes numériques. #### Example H4 heading
Listes non ordonnées Placez un astérisque (*) avant votre texte. Si possible, placez chaque élément de la liste sur une ligne distincte. * First example

* Second example

Listes ordonnées Placez le chiffre 1 et le point (1.) avant votre texte pour chaque élément de ligne ; Markdown incrémentera automatiquement le numéro de liste. Si possible, placez chaque élément de la liste sur une ligne distincte. 1. First example

1. Second example

AUDACIEUX Placez un double astérisque avant et après votre texte. **bold text**
Italiques Placez un trait de soulignement avant et après votre texte. _italicized text_
Hyperliens

Placez le texte du lien entre crochets avant l'URL entre parenthèses. Ou saisissez votre URL.

Les liens vers des sites Web externes s'ouvrent dans un nouvel onglet du navigateur. Les liens du système ExtraHop, tels que les tableaux de bord, s'ouvrent dans l'onglet actuel du navigateur.

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

https://www.extrahop.com

Citations en blocs Placez un crochet à angle droit et un espace devant votre texte.

On the ExtraHop website:

> Access the live demo and review case studies.

Emojis Copiez et collez une image emoji dans la zone de texte. Consultez les Graphique Emoji Unicode site web pour les images.

La syntaxe Markdown ne prend pas en charge les shortcodes emoji.

 
endTime: Numéro
Heure à laquelle la détection s'est terminée, exprimée en millisecondes depuis l'époque.
id: Numéro
L'identifiant unique pour la détection.
isCustom: Booléen
La valeur est true s'il s'agit d'une détection personnalisée générée par un déclencheur.
isEventCreate: Booléen
Si la valeur est vraie, DETECTION_UPDATE événement exécuté lors de la création de la détection. Si la valeur est fausse, DETECTION_UPDATE événement exécuté lors de la mise à jour de la détection.
mitreCategories: Tableau d'objets
Ensemble d'objets contenant les techniques et tactiques MITRE associées à la détection. Chaque objet contient les propriétés suivantes :
id
L'identifiant de la technique ou de la tactique MITRE.
name
Nom de la technique ou de la tactique MITRE.
url
Adresse Web de la technique ou de la tactique sur le site Web du MITRE.
participants: Tableau d'objets
Un ensemble d'objets participants associés à la détection. Un objet participant contient les propriétés suivantes :
object: Objet
L'appareil, l'application ou l'objet d'adresse IP associé au participant.
id: Numéro
L'identifiant du participant.
role: Corde
Le rôle du participant dans la détection. Les valeurs suivantes sont valides :
  • offender
  • victim
properties: Objet
Objet contenant les propriétés de la détection. Seuls les types de détection intégrés incluent des propriétés de détection. Le type de détection détermine les propriétés disponibles.

Les noms de champs de l'objet sont les noms des propriétés de détection. Par exemple, le type de détection Anonymous FTP Auth Enabled inclut le client_port propriété, à laquelle vous pouvez accéder à l'aide du code suivant :

Detection.properties.client_port

Pour afficher les noms des propriétés de détection, affichez les types de détection à l'aide du GET /detections/formats opération dans l'API REST ExtraHop.

Conseil :Dans l'éditeur de déclencheurs, vous pouvez afficher les propriétés de détection valides à l'aide de la fonctionnalité de saisie semi-automatique si vous incluez une logique qui détermine le type de détection. Par exemple, si le déclencheur contient le code suivant et que vous saisissez un point après « propriétés », l'éditeur de déclencheurs affiche les propriétés valides pour la détection Anonymous FTP Auth Enabled :
if (Detection.type === 'anonymous_ftp') {
    Detection.properties
}
resolution: Corde
Résolution du ticket associé à la détection. Les valeurs valides sont action_taken et no_action_taken.
riskScore: nombre | nul
L'indice de risque de la détection.
startTime: Numéro
Heure à laquelle la détection a commencé, exprimée en millisecondes depuis l'époque.
status: Corde
État du ticket associé à la détection. Les valeurs valides sont acknowledged, new, in_progress, et closed.
ticketId: Corde
L'ID du ticket associé à la détection.
title: Corde
Titre de la détection.
type: Corde
Type de détection. Pour les détections personnalisées, « custom » est ajouté au début de la chaîne définie par l' utilisateur. Par exemple, si vous spécifiez brute_force_attack dans le commitDetection fonction, le type de détection est custom.brute_force_attack.
updateTime: Numéro
Dernière mise à jour de la détection, exprimée en millisecondes depuis l' époque.

Device

Le Device La classe vous permet de récupérer les attributs de l'équipement et d'ajouter des mesures personnalisées au niveau de l'équipement.

Méthodes

Device(id: Corde )
Constructeur de l'objet Device qui accepte un paramètre, qui est un identifiant de chaîne unique de 16 caractères.

S'il est fourni avec un identifiant provenant d'un objet Device existant, le constructeur crée une copie de cet objet avec toutes les propriétés de l'objet, comme illustré dans l' exemple suivant :

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

Métriques associées à un objet Device par le biais d'un metricAdd* les fonctions sont conservées dans la banque de données

lookupByIP(addr: Adresse IP | Corde , vlan: Numéro ): Appareil
Renvoie l'équipement L3 qui correspond à l'adresse IP et à l'ID de VLAN spécifiés. Retours null si aucune correspondance n'est trouvée.
addr: Adresse IP | Corde
L'adresse IP de l'équipement. L'adresse IP peut être spécifiée en tant que IPAddress objet ou sous forme de chaîne.
vlan: nombre
L'ID VLAN de l'équipement. Renvoie une valeur par défaut de 0 si aucun ID de VLAN n'est fourni ou si la valeur du devices_across_vlans les paramètres sont définis sur true dans le fichier de configuration en cours d'exécution.
lookupByMAC(addr: Corde , vlan: Numéro ): Appareil
Renvoie l'équipement L2 qui correspond à l'adresse MAC et à l'ID VLAN spécifiés. Retours null si aucune correspondance n'est trouvée.
addr: Corde
L'adresse MAC de l'équipement.
vlan: Numéro
L'ID VLAN de l'équipement. Renvoie une valeur par défaut de 0 si aucun ID de VLAN n'est fourni ou si la valeur du devices_across_vlans les paramètres sont définis sur true dans le fichier de configuration en cours d'exécution.
toString(): Corde
Renvoie l'objet Device sous forme de chaîne au format suivant :
[object Device <discovery_id>]

Méthodes d'instance

Les méthodes décrites dans cette section ne sont présentes que sur les instances de la classe Device. La plupart des méthodes vous permettent de créer des mesures personnalisées au niveau de l'appareil, comme illustré dans l'exemple suivant :

Flow.server.device.metricAddCount("slow_rsp", 1);
Remarque :Un équipement peut parfois agir en tant que client et parfois en tant que serveur sur un flux.
  • Appelez une méthode en tant que Device.metricAdd* pour collecter des données pour les deux rôles de l'équipement.
  • Appelez une méthode en tant que Flow.client.device.metricAdd* pour collecter des données uniquement pour le rôle client, que le déclencheur soit attribué au client ou au serveur.
  • Appelez une méthode en tant que Flow.server.device.metricAdd* pour collecter des données uniquement pour le rôle de serveur, que le déclencheur soit attribué au client ou au serveur.
equals(device: Appareil ): Booléen
Effectue un test d'égalité entre les objets Device, où device est l' objet à comparer.
metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de comptage. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Le nom de la métrique de comptage de niveau supérieur.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de comptage par lequel vous pouvez approfondir. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de l'ensemble de données. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique du jeu de données de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de l'ensemble de données par lequel vous pouvez approfondir. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation niveau supérieur métrique de comptage distincte. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Le nom de la métrique de comptage distincte de niveau supérieur.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation détail métrique de comptage distincte par lequel vous pouvez approfondir. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique de comptage distincte détaillée.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique maximale. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Le nom de la métrique maximale de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique maximale par lequel vous pouvez approfondir. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique maximale de détail.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur Sampleset métrique. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail Sampleset métrique par lequel vous pouvez approfondir. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de capture d'écran. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique de capture instantanée de niveau supérieur.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de capture d'écran par lequel vous pouvez approfondir. Valide les données métriques vers l'équipement spécifié.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.

Propriétés de l'instance

Les propriétés suivantes vous permettent de récupérer les attributs de l'équipement et ne sont présentes que sur les instances de la classe Device.

cdpName: Corde
Le nom CDP associé à l'équipement, s'il est présent.
dhcpName: Corde
Le DHCP nom associé à l'équipement, le cas échéant.
discoverTime: Numéro
La dernière fois que le processus de capture a découvert l'équipement (et non l' heure de découverte initiale), exprimée en millisecondes depuis l'époque (1er janvier 1970). Les appareils découverts précédemment peuvent être redécouverts par le processus de capture s'ils deviennent inactifs puis redeviennent actifs, ou si le processus de capture est redémarré.

Pour demander à un déclencheur de s'exécuter uniquement lors de la découverte initiale d'un équipement, consultez le NEW_DEVICE événement discuté dans le Discover classe.

dnsNames: Array
Tableau de chaînes répertoriant les noms DNS associés à l'équipement, le cas échéant.
hasTrigger: Booléen
La valeur est true si un déclencheur attribué à l'objet Device est en cours d'exécution.

Si le déclencheur est exécuté sur un événement associé à un Flow objet, le hasTrigger la valeur de la propriété est true sur au moins l'un des objets Device du flux.

Le hasTrigger cette propriété est utile pour distinguer les rôles des équipements. Par exemple, si un déclencheur est attribué à un groupe de serveurs proxy, vous pouvez facilement déterminer si un équipement agit en tant que client ou en tant que serveur, plutôt que de vérifier les adresses IP ou les identifiants des appareils, comme dans l'exemple suivant :

//Event: HTTP_REQUEST
if (Flow.server.device.hasTrigger) {
    // Incoming request
} else {
    // Outgoing request
}
hwaddr: Corde
L'adresse MAC de l'équipement, le cas échéant.
id: Corde
L'identifiant unique à 16 caractères de l'équipement, tel qu'indiqué dans le système ExtraHop sur la page de cet appareil.
ipaddrs: Array
Une gamme de IPAddress objets représentant les adresses IP connues de l' appareil. Pour L3 appareils, la matrice contient toujours une adresse IP.
isGateway: Booléen
La valeur est true si l'équipement est une passerelle.
isL3: Booléen
La valeur est true si l'équipement est un L3 équipement pour enfants.
Important :Si vous n'avez pas activé le système ExtraHop pour découvrir les appareils par adresse IP, la propriété iS3 est toujours définie sur False car le système ne fait pas de distinction entre les appareils enfants L3 et parents L2.
netbiosName: Corde
Le nom NetBIOS associé à l'équipement, s'il est présent.
vlanId: Numéro
L'ID VLAN de l'équipement.

Discover

Le Discover La classe vous permet de récupérer des informations sur les appareils et applications récemment découverts.

Évènements

NEW_APPLICATION
S'exécute lorsqu'une application est découverte pour la première fois. Cet événement consomme des ressources de capture.
Remarque :Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.
NEW_DEVICE
S'exécute lorsque l'activité est observée pour la première fois sur un équipement. Cet événement consomme des ressources de capture.
Remarque :Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.

Propriétés

application: Demande
Une application récemment découverte.

S'applique uniquement à NEW_APPLICATION événements.

device: Appareil
Un équipement récemment découvert.

S'applique uniquement à NEW_DEVICE événements.

Remarque :Vous ne pouvez pas spécifier cette propriété en tant que participant au commitDetection fonction.

ExternalData

Le ExternalData class vous permet de récupérer les données envoyées depuis des sources externes à l'API Trigger via l'API REST ExtraHop.

Évènements

EXTERNAL_DATA
S'exécute chaque fois que des données sont envoyées au système ExtraHop via le Déclencheurs POST/données externes opération.

Propriétés

body: Corde
Les données externes envoyées au déclencheur.
type: Corde
Identifiant qui décrit les données envoyées au déclencheur. Le type est défini lorsque les données sont envoyées à l'API REST ExtraHop.

Flow

Le flux fait référence à une conversation entre deux terminaux sur un protocole tels que TCP, UDP ou ICMP. Le Flow class donne accès à des éléments de ces conversations, tels que les adresses IP des points de terminaison et l'âge du flux. La classe Flow contient également un magasin de flux conçu pour transmettre des objets de la demande à la réponse sur le même flux.

Remarque :Vous pouvez appliquer la classe Flow sur la plupart L7 événements de protocole, mais il n' est pas pris en charge pour les événements de session ou de banque de données.

Évènements

Si un flux est associé à un ExtraHop surveillé L7 protocole, les événements qui sont en corrélation avec le protocole seront exécutés en plus des événements de flux. Par exemple, un flux associé à HTTP exécutera également le HTTP_REQUEST et HTTP_RESPONSE événements.

FLOW_CLASSIFY
S'exécute chaque fois que le système ExtraHop classe initialement un flux comme étant associé à un protocole spécifique.
Remarque :Pour les flux TCP, FLOW_CLASSIFY l'événement se déroule après le TCP_OPEN événement.

Grâce à une combinaison de L7 analyse de la charge utile, observation des poignées de main TCP et heuristique basée sur les numéros de port , le FLOW_CLASSIFY l'événement identifie le protocole L7 et les rôles des équipements pour les points de terminaison d'un flux tel que client/serveur ou expéditeur/récepteur.

La nature d'un flux peut changer au cours de sa durée de vie, par exemple en cas de tunneling via HTTP ou de passage du SMTP au SMTP-TLS. Dans ces cas, FLOW_CLASSIFY s'exécute à nouveau après le changement de protocole.

Le FLOW_CLASSIFY cet événement est utile pour lancer une action sur un flux sur la base de la connaissance la plus précoce des informations de flux, telles que le protocole L7, les adresses IP client/serveur ou les ports expéditeur/récepteur.

Actions communes initiées le FLOW_CLASSIFY inclure le démarrage d' une PCAP via captureStart() procédé ou association du flux à un contenant d'application via le addApplication() méthode.

Des options supplémentaires sont disponibles lorsque vous créez un déclencheur qui s'exécute sur cet événement. Par défaut, FLOW_CLASSIFY ne s'exécute pas à l' expiration du flux ; toutefois, vous pouvez configurer un déclencheur pour le faire afin de cumuler des métriques pour les flux qui n'étaient pas classés avant leur expiration. Voir Options de déclencheur avancées pour plus d'informations.

FLOW_DETACH
S'exécute lorsque l'analyseur a rencontré une erreur inattendue ou est à court de mémoire et cesse de suivre le flux. De plus, un flux de données de faible qualité avec des paquets manquants peut provoquer le détachement de l'analyseur.

Le FLOW_DETACH cet événement est utile pour détecter le contenu malveillant envoyé par clients et serveurs. Voici un exemple de la façon dont un déclencheur peut détecter une erreur DNS réponses sur FLOW_DETACH événements :

if (event == "FLOW_DETACH" && Flow.l7proto== "DNS") {
    Flow.addApplication("Malformed DNS");
}
FLOW_RECORD
Permet l'enregistrement des informations relatives à un flux à des intervalles chronométrés. Après FLOW_CLASSIFY a couru, le FLOW_RECORD cet événement aura lieu tous les N secondes et chaque fois qu'un flux se ferme. La valeur par défaut pour N, appelé intervalle de publication, est de 30 minutes ; la valeur minimale est de 60 secondes. Vous pouvez définir l'intervalle de publication dans les paramètres d'administration.
FLOW_TICK
Vous permet d'enregistrer des informations sur un flux par quantité de données ou par tour. Le FLOW_TICK cet événement aura lieu tous les FLOW_TURN ou tous les 128 paquets, selon la première éventualité. Également, L2 les données sont réinitialisées à chaque FLOW_TICK événement qui vous permet d'additionner des données à chaque coche. Si vous comptez le débit, collectez les données auprès de FLOW_TICK événements qui fournissent des mesures plus complètes que FLOW_TURN.

FLOW_TICK fournit un moyen de vérifier périodiquement l'existence de certaines conditions sur le flux, telles que l'absence de fenêtre ou les délais de Nagle, puis de prendre une action, telle que le lancement d'une PCAP ou l'envoi d'un message syslog.

Voici un exemple de 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
S'exécute à chaque tour TCP ou UDP. Un tour représente un cycle complet d'un client transfert des données de demande suivi du transfert d'une réponse par un serveur.

FLOW_TURN expose également un Turn objet.

Points de terminaison

Le flux fait référence à une conversation entre deux points de terminaison via un protocole ; un point de terminaison peut être l'un des composants suivants :

  • client
  • server
  • sender
  • receiver

Les méthodes et propriétés décrites dans cette section sont appelées ou accessibles pour un point de terminaison spécifié sur le flux. Par exemple, pour accéder au device propriété d'un client HTTP, la syntaxe est Flow.client.device.

Le point de terminaison que vous spécifiez dépend des événements associés au déclencheur. Par exemple, le ACTIVEMQ_MESSAGE L'événement ne prend en charge que les points de terminaison de l'expéditeur et du destinataire. Le tableau suivant affiche la liste des événements qui peuvent être associés à un flux et les points de terminaison pris en charge pour chaque événement :

Événement Client/Serveur Expéditeur/récepteur
AAA_REQUEST oui oui
AAA_RESPONSE oui oui
AJP_REQUEST oui oui
AJP_RESPONSE oui oui
ACTIVEMQ_MESSAGE non oui
CIFS_REQUEST oui oui
CIFS_RESPONSE oui oui
DB_REQUEST oui oui
DB_RESPONSE oui oui
DHCP_REQUEST oui oui
DHCP_RESPONSE oui oui
DICOM_REQUEST oui oui
DICOM_RESPONSE oui oui
DNS_REQUEST oui oui
DNS_RESPONSE oui oui
FIX_REQUEST oui oui
FIX_RESPONSE oui oui
FLOW_CLASSIFY oui non
FLOW_DETACH oui non
FLOW_RECORD oui non
FLOW_TICK oui non
FLOW_TURN oui non
FTP_REQUEST oui oui
FTP_RESPONSE oui oui
HL7_REQUEST oui oui
HL7_RESPONSE oui oui
HTTP_REQUEST oui oui
HTTP_RESPONSE oui oui
IBMMQ_REQUEST oui oui
IBMMQ_RESPONSE oui oui
ICA_AUTH oui non
ICA_CLOSE oui non
ICA_OPEN oui non
ICA_TICK oui non
ICMP_MESSAGE non oui
KERBEROS_REQUEST oui oui
KERBEROS_RESPONSE oui oui
LDAP_REQUEST oui oui
LDAP_RESPONSE oui oui
MEMCACHE_REQUEST oui oui
MEMCACHE_RESPONSE oui oui
MOBUS_REQUEST oui oui
MODBUS_RESPONSE oui oui
MONGODB_REQUEST oui oui
MONGODB_RESPONSE oui oui
MSMQ_MESSAGE non oui
NFS_REQUEST oui oui
NFS_RESPONSE oui oui
POP3_REQUEST oui oui
POP3_RESPONSE oui oui
REDIS_REQUEST oui oui
REDIS_RESPONSE oui oui
RDP_CLOSE oui non
RDP_OPEN oui non
RDP_TICK oui non
RTCP_MESSAGE non oui
RTP_CLOSE non oui
RTP_OPEN non oui
RTP_TICK non oui
SCCP_MESSAGE non oui
SIP_REQUEST oui oui
SIP_RESPONSE oui oui
SMPP_REQUEST oui oui
SMPP_RESPONSE oui oui
SMTP_REQUEST oui oui
SMTP_RESPONSE oui oui
SSL_ALERT oui oui
SSL_CLOSE oui non
SSL_HEARTBEAT oui oui
SSL_OPEN oui non
SSL_PAYLOAD oui oui
SSL_RECORD oui oui
SSL_RENEGOTIATE oui non
TCP_CLOSE oui non
TCP_OPEN oui non
TCP_PAYLOAD oui oui
UDP_PAYLOAD oui oui
TELNET_MESSAGE oui oui
WEBSOCKET_OPEN oui non
WEBSOCKET_CLOSE oui non
WEBSOCKET_MESSAGE oui oui
Méthodes de terminaison
commitRecord(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur FLOW_RECORD événement. Les validations d'enregistrement ne sont pas prises en charge sur FLOW_CLASSIFY, FLOW_DETACH, FLOW_TICK, ou FLOW_TURN événements.

Sur un flux, le trafic se déplace dans chaque direction entre deux points terminaux. Le commitRecord() Cette méthode n'enregistre les détails du flux que dans une seule direction, par exemple du client au serveur. Pour enregistrer les détails de l' ensemble du flux, vous devez appeler commitRecord() deux fois, une fois pour chaque direction, et spécifiez le point de terminaison dans la syntaxe, par exemple Flow.client.commitRecord() et Flow.server.commitRecord().

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() La méthode est appelée plusieurs fois pour le même enregistrement unique.

Pour afficher les propriétés par défaut validées pour l' objet d'enregistrement, consultez record propriété ci-dessous.

Propriétés des terminaux
bytes: Numéro
Le nombre de L4 octets de charge utile transmis par un équipement. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.bytes ou Flow.receiver.bytes.

Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.

customDevices: Array
Un ensemble de périphériques personnalisés dans le flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.customDevices ou Flow.receiver.customDevices.
device: Appareil
Le Device objet associé à un équipement. Spécifiez le rôle de l'équipement dans la syntaxe. Par exemple, pour accéder à l'adresse MAC du client équipement, spécifiez Flow.client.device.hwaddr.
equals: Booléen
Effectue un test d'égalité entre Device objets.
dscp: Numéro
Le nombre représentant la dernière valeur du point de code de services différenciés (DSCP) du paquet de flux.

Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.dscp ou Flow.server.dscp.

dscpBytes: Array
Un tableau contenant le nombre de L2 octets pour une valeur de point de code de services différenciés (DSCP) spécifique transmise par un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.dscpBytes ou Flow.server.dscpBytes.

La valeur est zéro pour chaque entrée qui ne contient aucun octet du DSCP spécifique depuis la dernière FLOW_TICK événement.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

dscpName1: Corde
Le nom associé à la valeur DSCP transmise par le périphérique 1 dans le flux. Le tableau suivant répertorie les noms DSCP les plus connus :
Numéro Nom
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: Corde
Le nom associé à la valeur DSCP transmise par le périphérique 2 dans le flux. Le tableau suivant répertorie les noms DSCP les plus connus :
Numéro Nom
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: Array
Un tableau contenant le nombre de L2 paquets pour une valeur de point de code de services différenciés (DSCP) donnée transmis par un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.dscpPkts ou Flow.server.dscpPkts.

La valeur est zéro pour chaque entrée qui ne contient aucun paquet du DSCP spécifique depuis la dernière FLOW_TICK événement.

S'applique uniquement à FLOW_TICK ou FLOW_TURN événements.

fragPkts: Numéro
Nombre de paquets résultant de la fragmentation IP transmis par un client ou un équipement serveur dans le flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.fragPkts ou Flow.server.fragPkts.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

ipaddr1: Adresse IP
Le IPAddress objet associé à l'appareil 1 dans le flux.
equals: Booléen
Effectue un test d'égalité entre IPAddress objets.
ipaddr2: Adresse IP
Le IPAddress objet associé à l'appareil 2 dans le flux.
equals: Booléen
Effectue un test d'égalité entre IPAddress objets.
isAborted: Booléen
La valeur est true si un flux TCP a été interrompu par une réinitialisation TCP (RST). Le flux peut être interrompu par un équipement. Le cas échéant, spécifiez le rôle de l' équipement dans la syntaxe, par exemple, Flow.client.isAborted ou Flow.receiver.isAborted.

Cette condition peut être détectée dans TCP_CLOSE événement et quel que soit l'impact L7 événements (par exemple, HTTP_REQUEST ou DB_RESPONSE).

Remarque :
  • Un L4 l'abandon se produit lorsqu'une connexion TCP est fermée par un RST au lieu d'un arrêt progressif.
  • Un abandon de réponse L7 se produit lorsqu'une connexion se ferme au milieu d'une réponse. Cela peut être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
  • L'abandon d'une demande L7 se produit lorsqu'une connexion se ferme au milieu d'une demande. Cela peut également être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
isShutdown: Booléen
La valeur est true si l'équipement a initié l'arrêt de la connexion TCP. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.isShutdown ou Flow.receiver.isShutdown.
l2Bytes: Numéro
Le nombre de L2 octets, y compris les en-têtes Ethernet, transmis par un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.l2Bytes ou Flow.server.l2Bytes.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

nagleDelay: Numéro
Le nombre de retards Nagle associés à un équipement dans le flux. Spécifiez le rôle de l' équipement dans la syntaxe, par exemple Flow.client.nagleDelay ou Flow.server.nagleDelay.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

overlapFragPkts: Numéro
Nombre de paquets de fragments IP non identiques dont les données se chevauchent et transmis par un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.overlapFragPkts ou Flow.server.overlapFragPkts.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

overlapSegments: Numéro
Le nombre de segments TCP non identiques, transmis par un équipement du flux, où deux segments TCP ou plus contiennent des données pour la même partie du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.overlapSegments ou Flow.server.overlapSegments.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

payload: Tampon
La charge utile Tampon associé à un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.payload ou Flow.receiver.payload.

Accès uniquement sur TCP_PAYLOAD, UDP_PAYLOAD, ou SSL_PAYLOAD événements ; sinon, une erreur se produira.

pkts: Numéro
Le nombre de paquets transmis par un équipement dans le flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.pkts ou Flow.server.pkts.

Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; dans le cas contraire, une erreur se produira.

port: Numéro
Numéro de port associé à un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.port ou Flow.receiver.port.
rcvWndThrottle: Numéro
Le nombre de régulateurs de fenêtre de réception envoyés depuis un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.rcvWndThrottle ou Flow.server.rcvWndThrottle.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à Flow.commitRecord() sur un FLOW_RECORD événement. L'objet d'enregistrement représente les données provenant d'une seule direction du flux.

L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :

  • age
  • bytes (L3)
    Remarque :Cette propriété représente le nombre total d'octets transmis par le flux au moment de l'exécution de l'événement FLOW_RECORD . L'événement FLOW_RECORD s'exécute plusieurs fois au cours de chaque flux, de sorte que la valeur augmente à chaque exécution de l'événement.
  • clientIsExternal
  • dscpName
  • first
  • firstPayloadBytes

    Représentation hexadécimale des 16 premiers octets de charge utile du flux.

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

    Le temps aller-retour (RTT) le plus récent de ce flux. Un RTT est le temps qu'il a fallu à un équipement pour envoyer un paquet et recevoir un accusé de réception immédiat (ACK).

  • senderAddr
  • senderIsExternal
  • senderPort
  • serverIsExternal
  • tcpFlags

Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.record ou Flow.server.record.

Accédez à l'objet d'enregistrement uniquement sur FLOW_RECORD événements ; dans le cas contraire, une erreur se produira.

rto: Numéro
Le nombre de délais de retransmission (RTO) associé à un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.rto ou Flow.server.rto.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

totalL2Bytes
Le nombre d'octets L2 envoyés par un équipement pendant le flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.totalL2Bytes ou Flow.server.totalL2Bytes.
totalL2Bytes1: Numéro
Le nombre d'octets L2 envoyés pendant le flux par le périphérique 1.
totalL2Bytes2: Numéro
Le nombre d'octets L2 envoyés pendant le flux par le périphérique 2.
zeroWnd: Numéro
Nombre de fenêtres nulles envoyées depuis un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.zeroWnd ou Flow.server.zeroWnd.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

Méthodes

addApplication(name: Corde , turnTiming: Booléen ): vide
Crée une application portant le nom spécifié et collecte les métriques L2-L4 à partir du flux. L'application peut être consultée dans le système ExtraHop et les métriques sont affichées sur une page L4 de l'application. Un flux peut être associé à une ou plusieurs applications à un instant donné ; les métriques L2-L4 collectées par chaque application seront les mêmes.

Appel Flow.addApplication(name) sur un FLOW_CLASSIFY cet événement est courant sur les protocoles non pris en charge. Pour les flux sur les protocoles pris en charge avec L7 événements déclencheurs, il est recommandé d'appeler le Application(name).commit() méthode, qui collecte un ensemble plus important de métriques de protocole.

L'optionnel turnTiming flag est défini sur false par défaut. S'il est défini sur true, le système ExtraHop collecte des mesures supplémentaires de chronométrage des tours pour le flux. Si cet indicateur est omis, aucune métrique de chronométrage des tours n'est enregistrée pour l'application sur le flux associé. Analyses d'analyse du temps de rotation L4 comportement afin de déduire les temps de traitement L7 lorsque le protocole surveillé suit un modèle de demande client et de réponse du serveur et dans lequel le client envoie le premier message. Les protocoles « bannières » (dans lesquels le serveur envoie le premier message) et les protocoles dans lesquels les données circulent simultanément dans les deux sens ne sont pas recommandés pour l'analyse de la synchronisation des tours.

captureStart(name: Corde , options: Objet ): Corde
Lance une capture de paquets de précision (PPCAP) pour le flux et renvoie un identifiant unique de la capture de paquets sous la forme d'un nombre décimal sous forme de chaîne. Retours null si la PCAP ne démarre pas.
name: Corde
Le nom du fichier de capture de paquets.
  • La longueur maximale est de 256 caractères
  • Une capture distincte est créée pour chaque flux.
  • Les fichiers de capture portant le même nom sont différenciés par des horodatages.
options: Objet
Les options contenues dans l'objet de capture. Omettez l'une des options pour indiquer une taille illimitée pour cette option. Toutes les options s'appliquent à l'ensemble du flux, à l'exception des options « rétrospectives » qui s'appliquent uniquement à la partie du flux précédant l'événement déclencheur qui a lancé la capture de paquets.
maxBytes: Numéro
Le nombre maximum total d'octets.
maxBytesLookback: Numéro
Le nombre maximum total d'octets provenant de la mémoire tampon de visualisation. Le tampon de retour fait référence aux paquets capturés avant l'appel à Flow.captureStart().
maxDurationMSec: Numéro
Durée maximale de la PCAP, exprimée en millisecondes.
maxPackets: Numéro
Le nombre maximum total de paquets. La valeur maximale peut être dépassée si charge du déclencheur est lourd.
maxPacketsLookback: Numéro
Le nombre maximum de paquets provenant de la mémoire tampon de visualisation. Le tampon de retour fait référence aux paquets capturés avant l'appel à Flow.captureStart().

Voici un exemple de 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);
}
Remarque :
  • Le Flow.captureStart() L'appel de fonction nécessite que vous disposiez d'une licence pour la capture de paquets de précision.
  • Vous pouvez spécifier le nombre d'octets par paquet (snaplen) que vous souhaitez capturer lors de la configuration du déclencheur dans le système ExtraHop. Cette option n'est disponible que pour certains événements. Voir Options de déclencheur avancées pour plus d' informations.
  • Sur les systèmes ExtraHop Performance, les fichiers capturés sont disponibles dans les paramètres d' administration. Sur les systèmes RevealX, les fichiers capturés sont disponibles depuis la page Paquets du système ExtraHop.
  • Sur les systèmes ExtraHop Performance, si le disque de capture de paquets de précision est plein, aucune nouvelle capture n'est enregistrée tant que l'utilisateur n'a pas supprimé les fichiers manuellement. Sur les systèmes Reveal, les anciennes captures de paquets sont supprimées lorsque le disque de capture de paquets de précision est plein pour permettre au système de continuer à enregistrer de nouvelles captures de paquets.
  • La longueur maximale de la chaîne de nom de fichier est de 256 caractères. Si le nom dépasse 256 caractères, il sera tronqué et un message d'avertissement sera visible dans le journal de débogage, mais le déclencheur continuera à s'exécuter.
  • La taille du fichier de capture est la valeur maximale atteinte en premier entre maxPackets et maxBytes options.
  • La taille de la mémoire tampon de capture est la valeur maximale atteinte en premier entre maxPacketsLookback et maxBytesLookback options.
  • Chacun a réussi max* le paramètre capturera jusqu'à la limite de paquet suivante.
  • Si la PCAP a déjà été lancée sur le flux en cours, Flow.captureStart() les appels génèrent un avertissement visible dans le journal de débogage, mais le déclencheur continuera à fonctionner.
  • Il existe un maximum de 128 captures de paquets simultanées dans le système. Si cette limite est atteinte, les appels suivants à Flow.captureStart() générera un avertissement visible dans le journal de débogage, mais le déclencheur continuera à s'exécuter.
captureStop(): Booléen
Arrête une PCAP en cours sur le flux actuel.
commitRecord1(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré qui représente les données envoyées depuis device1 dans une seule direction sur le flux.

Vous ne pouvez appeler cette méthode que sur FLOW_RECORD événements, et chaque enregistrement unique n'est validé qu'une seule fois pour les enregistrements intégrés.

Pour afficher les propriétés validées pour l'objet d'enregistrement, consultez record propriété ci-dessous.

commitRecord2(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré qui représente les données envoyées depuis device2 dans une seule direction sur le flux.

Vous ne pouvez appeler cette méthode que sur FLOW_RECORD événements, et chaque enregistrement unique n'est validé qu'une seule fois pour les enregistrements intégrés.

Pour afficher les propriétés validées pour l'objet d'enregistrement, consultez record propriété ci-dessous.

findCustomDevice(deviceID: Corde ): Appareil
Renvoie un seul Device objet qui correspond au paramètre DeviceID spécifié si l'équipement est situé de part et d'autre du flux. Retours null si aucun équipement correspondant n'est trouvé.
getApplications(): Corde
Récupère toutes les applications associées au flux.

Propriétés

Les propriétés et méthodes de l'objet Flow décrites dans cette section sont accessibles à tous L7 événement déclencheur associé au flux.

Par défaut, le système ExtraHop utilise une classification des protocoles mal initiée. Il essaiera donc de classer les flux même après le lancement de la connexion. L'initiation libre peut être désactivée pour les ports qui ne transportent pas toujours le trafic du protocole (par exemple, le port générique 0). Pour de tels flux, device1, port1, et ipaddr1 représenter l'équipement dont l'adresse IP est numériquement inférieure et device2, port2, et ipaddr2 représente l'équipement dont l'adresse IP est numériquement la plus élevée.

age: Numéro
Le temps écoulé depuis le début du flux, exprimé en secondes.
bytes1: Numéro
Le nombre de L4 octets de charge utile transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par bytes2. L' équipement représenté par bytes1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.

bytes2: Numéro
Le nombre de L4 octets de charge utile transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par bytes1. L' équipement représenté par bytes2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.

customDevices1: Array
Une gamme de produits personnalisés Device objets d'un flux. Les appareils personnalisés situés de l'autre côté du flux sont disponibles en accédant customDevices2. L'équipement représenté par customDevices1 reste constant pour le flux.
customDevices2: Array
Une gamme de produits personnalisés Device objets d'un flux. Les appareils personnalisés situés de l'autre côté du flux sont disponibles en accédant customDevices1. L'équipement représenté par customDevices2 reste constant pour le flux.
device1: Appareil
Le Device objet associé à l'un des deux appareils du flux ; l'autre équipement est représenté par device2. L' équipement représenté par device1 reste constant pour le flux. Par exemple, Flow.device1.hwaddr accède aux adresses MAC de cet équipement dans le flux.
equals: Booléen
Effectue un test d'égalité entre Device objets.
device2: Appareil
Le Device objet associé à l'un des deux appareils du flux ; l'autre équipement est représenté par device1. L' équipement représenté par device2 reste constant pour le flux. Par exemple, Flow.device2.hwaddr accède aux adresses MAC de cet équipement dans le flux.
equals: Booléen
Effectue un test d'égalité entre Device objets.
dscp1: Numéro
Le numéro représentant la dernière valeur de point de code de services différenciés (DSCP) transmise par l'un des deux appareils du flux ; l'autre équipement est représenté par dscp2. L'équipement représenté par dscp1 reste constant pour le flux.
dscp2: Numéro
Le lnumber représentant la dernière valeur de point de code de services différenciés (DSCP) transmise par l'un des deux appareils du flux ; l'autre équipement est représenté par dscp1. L'équipement représenté par dscp2 reste constant pour le flux.
dscpBytes1: Array
Un tableau contenant le nombre de L2 octets pour une valeur de point de code de services différenciés (DSCP) spécifique transmise par l'un des deux périphériques du flux ; l'autre équipement est représenté par dscpBytes2. L'équipement représenté par dscpBytes1 reste constant pour le flux.

La valeur est zéro pour chaque entrée qui ne contient aucun octet du DSCP spécifique depuis la dernière FLOW_TICK événement.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

dscpBytes2: Array
Un tableau contenant le nombre de L2 octets pour une valeur de point de code de services différenciés (DSCP) spécifique transmise par l'un des deux périphériques du flux ; l'autre équipement est représenté par dscpBytes1. L'équipement représenté par dscpBytes2 reste constant pour le flux.

La valeur est zéro pour chaque entrée qui ne contient aucun octet du DSCP spécifique depuis la dernière FLOW_TICK événement.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

dscpName1: Corde
Le nom associé à la valeur DSCP transmise par l'un des deux périphériques du flux ; l'autre équipement est représenté par dscpName2. L'équipement représenté par dscpName1 reste constant pour le flux.

Consultez les dscpName propriété dans le Points de terminaison section pour une liste des noms de code DSCP pris en charge.

dscpName2: Corde
Le nom associé à la valeur DSCP transmise par l'un des deux périphériques du flux ; l'autre équipement est représenté par dscpName1. L'équipement représenté par dscpName2 reste constant pour le flux.

Consultez les dscpName propriété dans le Points de terminaison section pour une liste des noms de code DSCP pris en charge.

dscpPkts1: Array
Un tableau contenant le nombre de L2 paquets pour une valeur de point de code de services différenciés (DSCP) donnée transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par dscpPkts2. L'équipement représenté par dscpPkts1 reste constant pour le flux.

La valeur est zéro pour chaque entrée qui ne contient aucun paquet du DSCP spécifique depuis la dernière FLOW_TICK événement.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

dscpPkts2: Array
Un tableau contenant le nombre de L2 paquets pour une valeur de point de code de services différenciés (DSCP) donnée transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par dscpPkts1. L'équipement représenté par dscpPkts2 reste constant pour le flux.

La valeur est zéro pour chaque entrée qui ne contient aucun paquet du DSCP spécifique depuis la dernière FLOW_TICK événement.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

fragPkts1: Numéro
Le nombre de paquets résultant de la fragmentation IP transmis par l'un des deux appareils du flux ; l'autre équipement est représenté par fragPkts2. L' équipement représenté par fragPkts1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

fragPkts2: Numéro
Le nombre de paquets résultant de la fragmentation IP transmis par l'un des deux appareils du flux ; l'autre équipement est représenté par fragPkts1. L' équipement représenté par fragPkts2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

id: Corde
L'identifiant unique d'un enregistrement Flow.
ipaddr: Adresse IP
LeIPAddress objet associé à un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.ipaddr ou Flow.receiver.ipaddr.
equals: Booléen
Effectue un test d'égalité entre IPAddress objets.
ipproto: Corde
Le protocole IP associé au flux, tel que TCP ou UDP.
ipver: Corde
Version IP associée au flux, telle que IPv4 ou IPv6.
isAborted: Booléen
La valeur est true si un flux TCP a été interrompu par une réinitialisation TCP (RST). Le flux peut être interrompu par un équipement. Le cas échéant, spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.isAborted ou Flow.receiver.isAborted.

Cette condition peut être détectée dans TCP_CLOSE événement et quel que soit l'impact L7 événements (par exemple, HTTP_REQUEST ou DB_RESPONSE).

Remarque :
  • Un L4 l'abandon se produit lorsqu'une connexion TCP est fermée par un RST au lieu d'un arrêt progressif.
  • Un abandon de réponse L7 se produit lorsqu'une connexion se ferme alors qu'une réponse est en cours de réponse. Cela peut être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
  • L'abandon d'une demande L7 se produit lorsqu'une connexion se ferme au milieu d'une demande. Cela peut également être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
isExpired: Booléen
La valeur est true si le flux a expiré au moment de l'événement.
isShutdown: Booléen
La valeur est true si l'équipement a initié l'arrêt de la connexion TCP. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.isShutdown ou Flow.receiver.isShutdown.
l2Bytes1: Numéro
Le nombre de L2 octets, y compris les en-têtes Ethernet, transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par l2Bytes2. L'équipement représenté par l2Bytes1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

l2Bytes2: Numéro
Le nombre de L2 octets, y compris les en-têtes Ethernet, transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par l2Bytes1. L'équipement représenté par l2Bytes2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

l7proto: Corde
Le protocole L7 associé au flux. Pour les protocoles connus, la propriété renvoie une chaîne représentant le nom du protocole, tel que HTTP, DHCP, Memcache. Pour les protocoles moins connus, la propriété renvoie une chaîne au format ipproto:porttcp:13724 ou udp:11258 Pour les noms de protocoles personnalisés, la propriété renvoie une chaîne représentant le nom défini dans la section Classification des protocoles des paramètres d' administration.

Cette propriété n'est pas valide pendant TCP_OPEN événements.

nagleDelay1: Numéro
Le nombre de retards de Nagle associés à l'un des deux appareils du flux ; l'autre équipement est représenté par nagleDelay2. L'équipement représenté par nagleDelay1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

nagleDelay2: Numéro
Le nombre de retards de Nagle associés à l'un des deux appareils du flux ; l'autre équipement est représenté par nagleDelay1. L'équipement représenté par nagleDelay2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

overlapFragPkts1: Numéro
Le nombre de paquets de fragments IP non identiques transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par overlapFragPkts2. L' équipement représenté par overlapFragPkts1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

overlapFragPkts2: Numéro
Le nombre de paquets de fragments IP non identiques transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par overlapFragPkts1. L' équipement représenté par overlapFragPkts2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

overlapSegments1: Numéro
Le nombre de segments TCP non identiques dans lesquels deux segments ou plus contiennent des données pour la même partie du flux. Les segments TCP sont transmis par l'un des deux équipements du flux ; l'autre équipement est représenté par overlapSegments2. L'équipement représenté par overlapSegments1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

overlapSegments2: Numéro
Le nombre de segments TCP non identiques dans lesquels deux segments ou plus contiennent des données pour la même partie du flux. Les segments TCP sont transmis par l'un des deux équipements du flux ; l'autre équipement est représenté par overlapSegments1. L'équipement représenté par overlapSegments2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

payload1: Tampon
La charge utile Tampon associé à l'un des deux appareils du flux ; l'autre équipement est représenté par payload2. L' équipement représenté par payload1 reste constant pour le flux.

Accès uniquement sur TCP_PAYLOAD, UDP_PAYLOAD, et SSL_PAYLOAD événements ; sinon, une erreur se produira.

payload2: Tampon
La charge utile Tampon associé à l'un des deux appareils du flux ; l'autre équipement est représenté par payload1. L' équipement représenté par payload2 reste constant pour le flux.

Accès uniquement sur TCP_PAYLOAD, UDP_PAYLOAD, ou SSL_PAYLOAD événements ; sinon, une erreur se produira.

pkts1: Numéro
Le nombre de paquets transmis par l'un des deux appareils du flux ; l'autre équipement est représenté par pkts2. L'équipement représenté par pkts1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.

pkts2: Numéro
Le nombre de paquets transmis par l'un des deux appareils du flux ; l'autre équipement est représenté par pkts1. L'équipement représenté par pkts2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.

port1: Numéro
Le numéro de port associé à l'un des deux périphériques d'un flux ; l'autre appareil est représenté par port2. L'équipement représenté par port1 reste constant pour le flux.
port2: Numéro
Le numéro de port associé à l'un des deux périphériques d'un flux ; l'autre appareil est représenté par port1. L'équipement représenté par port2 reste constant pour le flux.
rcvWndThrottle1: Numéro
Le nombre de régulateurs de fenêtre de réception envoyés par l'un des deux appareils du flux ; l'autre appareil est représenté par rcvWndThrottle2. L'équipement représenté par rcvWndThrottle1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

rcvWndThrottle2: Numéro
Le nombre de régulateurs de fenêtre de réception envoyés par l'un des deux appareils du flux ; l'autre appareil est représenté par rcvWndThrottle1. L'équipement représenté par rcvWndThrottle2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

record1: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à Flow.commitRecord1() sur un FLOW_RECORD événement.

L' objet représente le trafic envoyé dans une seule direction depuis l'un des deux appareils du flux ; l'autre appareil est représenté par le record2 propriété. L' équipement représenté par record1 la propriété reste constante pour le flux.

Accédez à l'objet d'enregistrement uniquement sur FLOW_RECORD événements ; sinon, une erreur se produira.

L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :

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

    Le temps aller-retour (RTT) le plus récent de ce flux. Un RTT est le temps qu'il a fallu à un équipement pour envoyer un paquet et recevoir un accusé de réception immédiat (ACK).

  • senderAddr
  • senderIsExternal
  • senderPort
  • serverIsExternal
  • tcpOrigin

    Ce champ d'enregistrement n'est inclus que si l'enregistrement représente le trafic envoyé depuis un équipement client ou expéditeur.

  • tcpFlags
record2: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à Flow.commitRecord2() sur un FLOW_RECORD événement.

L' objet représente le trafic envoyé dans une seule direction depuis l'un des deux appareils du flux ; l'autre appareil est représenté par le record1 propriété. L' équipement représenté par record2 la propriété reste constante pour le flux.

Accédez à l'objet d'enregistrement uniquement sur FLOW_RECORD événements ; sinon, une erreur se produira.

L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :

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

    Le temps aller-retour (RTT) le plus récent de ce flux. Un RTT est le temps qu'il a fallu à un équipement pour envoyer un paquet et recevoir un accusé de réception immédiat (ACK).

  • senderAddr
  • senderIsExternal
  • senderPort
  • serverIsExternal
  • tcpOrigin

    Ce champ d'enregistrement n'est inclus que si l'enregistrement représente le trafic envoyé depuis un équipement client ou expéditeur.

  • tcpFlags
roundTripTime: Numéro
Temps médian aller-retour (RTT) pendant la durée de l'événement, exprimé en millisecondes. La valeur est NaN s'il n'y a pas d'échantillons RTT.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

rto1: Numéro
Le nombre de délais de retransmission (RTO) associé à l'un des deux appareils du flux ; l'autre appareil est représenté par rto2. L'équipement représenté par rto1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

rto2: Numéro
Le nombre de délais de retransmission (RTO) associé à l'un des deux appareils du flux ; l'autre appareil est représenté par rto1. L'équipement représenté par rto2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

store: Objet
Le magasin de flux est conçu pour transmettre des objets de la demande à la réponse sur le même flux. Le store object est une instance d'un objet JavaScript vide. Les objets peuvent être attachés au magasin en tant que propriétés en définissant la clé de propriété et la valeur de la propriété. Par exemple :
Flow.store.myobject = "myvalue";

Pour les événements qui se produisent sur le même flux, vous pouvez appliquer le magasin de flux au lieu de la table de session pour partager des informations. Par exemple :

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

// response 
var userAgent = Flow.store.userAgent;
Important :Les valeurs du magasin de flux persistent pour toutes les demandes et réponses transmises par ce flux. Lorsque vous utilisez le magasin de flux, il est recommandé de définir la variable de stockage de flux sur null lorsque sa valeur ne doit pas être transmise à la demande ou à la réponse suivante. Cette pratique présente l'avantage supplémentaire de conserver la mémoire de stockage des flux.

La plupart des déclencheurs de stockage de flux doivent avoir une structure similaire à l' exemple suivant :

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  
        } 
}
Remarque :Étant donné que les demandes DHCP se produisent souvent sur des flux différents des réponses DHCP correspondantes, nous vous recommandons de combiner les informations de demande et de réponse DHCP en stockant les ID de transaction DHCP dans la table de session. Par exemple, le code de déclencheur suivant crée une métrique qui permet de suivre le nombre de messages de découverte DHCP qui ont reçu un message d'offre DHCP correspondant :
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: Adresse IP | Null
L'adresse IP d'origine du client ou de l'expéditeur si elle est spécifiée par un proxy réseau dans l' option TCP 28.
vlan: Numéro
Le numéro de VLAN associé au flux. Si aucune balise VLAN n'est présente, cette valeur est définie sur 0.
vxlanVNI: Numéro
Numéro d'identifiant réseau VXLAN associé au flux. Si aucune balise VXLAN n'est présente, cette valeur est définie sur NaN .
zeroWnd1: Numéro
Le nombre de fenêtres nulles associées à l'un des deux appareils du flux ; l'autre équipement est représenté par zeroWnd2. L'équipement représenté par zeroWnd1 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

zeroWnd2: Numéro
Le nombre de fenêtres nulles associées à l'un des deux appareils du flux ; l'autre équipement est représenté par zeroWnd1. L'équipement représenté par zeroWnd2 reste constant pour le flux.

Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.

FlowInterface

Le FlowInterface La classe vous permet de récupérer les attributs de l'interface de flux et d'ajouter des métriques personnalisées au niveau de l'interface.

Méthodes

FlowInterface(id: chaîne )
Constructeur de l'objet FlowInterface qui accepte un ID d'interface de flux. Une erreur se produit si l'identifiant de l'interface de flux n'existe pas sur le système ExtraHop.

Méthodes d'instance

Les méthodes décrites dans cette section vous permettent de créer des mesures personnalisées sur une interface de flux. Les méthodes ne sont présentes que sur les instances de NetFlow classe. Par exemple, l'instruction suivante collecte des métriques du trafic NetFlow sur l'interface d' entrée :

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

Cependant, vous pouvez appeler la méthode FlowInterface en tant que méthode statique sur NETFLOW_RECORD événements. Par exemple, l'instruction suivante collecte des métriques du trafic NetFlow sur les interfaces d'entrée et de sortie :

FlowInterface.metricAddCount("slow_rsp", 1);
metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de comptage. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Le nom de la métrique de comptage de niveau supérieur.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de comptage par lequel vous pouvez approfondir. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de l'ensemble de données. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique du jeu de données de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de l'ensemble de données par lequel vous pouvez approfondir. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation niveau supérieur métrique de comptage distincte. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique de comptage distincte de niveau supérieur.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation détail métrique de comptage distincte par lequel vous pouvez approfondir. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique de comptage distincte détaillée.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique maximale. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Le nom de la métrique maximale de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique maximale par lequel vous pouvez approfondir. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique maximale de détail.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur Sampleset métrique. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail Sampleset métrique par lequel vous pouvez approfondir. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de capture d'écran. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique de capture instantanée de niveau supérieur.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de capture d'écran par lequel vous pouvez approfondir. Valide les données métriques dans l'interface de flux spécifiée.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.

Propriétés de l'instance

id: Corde
Chaîne qui identifie de manière unique l'interface de flux.
number: Numéro
Numéro d'interface de flux indiqué par l'enregistrement NetFlow.

FlowNetwork

Le FlowNetwork class vous permet de récupérer les attributs du réseau de flux et d'ajouter des métriques personnalisées au niveau du réseau de flux.

Méthodes

FlowNetwork(id: chaîne )
Un constructeur pour l'objet FlowNetwork qui accepte un identifiant de réseau de flux. Une erreur se produit si l'identifiant du réseau de flux n'existe pas sur le système ExtraHop.

Méthodes d'instance

Les méthodes décrites dans cette section vous permettent de créer des mesures personnalisées sur un réseau de flux. Les méthodes ne sont présentes que sur les instances de NetFlow classe. Par exemple, l'instruction suivante collecte des métriques du trafic NetFlow sur un réseau individuel :

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

Cependant, vous pouvez appeler la méthode FlowNetwork en tant que méthode statique sur NETFLOW_RECORD événements. Par exemple, l'instruction suivante collecte des mesures du trafic NetFlow sur les deux appareils du réseau de flux :

FlowNetwork.metricAddCount("slow_rsp", 1);
metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de comptage. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Le nom de la métrique de comptage de niveau supérieur.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de comptage par lequel vous pouvez approfondir. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de l'ensemble de données. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique du jeu de données de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de l'ensemble de données par lequel vous pouvez approfondir. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation niveau supérieur métrique de comptage distincte. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique de comptage distincte de niveau supérieur.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation détail métrique de comptage distincte par lequel vous pouvez approfondir. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique de comptage distincte détaillée.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique maximale. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Le nom de la métrique maximale de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique maximale par lequel vous pouvez approfondir. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique maximale de détail.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur Sampleset métrique. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail Sampleset métrique par lequel vous pouvez approfondir. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de capture d'écran. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique de capture instantanée de niveau supérieur.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de capture d'écran par lequel vous pouvez approfondir. Valide les données métriques dans le réseau de flux spécifié.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.

Propriétés de l'instance

id: Corde
Chaîne qui identifie de manière unique le réseau de flux.
ipaddr: Adresse IP
L'adresse IP de l'interface de management sur le réseau de flux.

GeoIP

Le GeoIP class vous permet de récupérer la localisation approximative au niveau du pays ou de la ville d'une adresse spécifique.

Méthodes

Les valeurs renvoyées par les méthodes GeoIP sont obtenues à partir du Bases de données de pays ou de villes MaxMind GeoLite2 sauf configuration contraire par Source de données Geomap paramètres dans les paramètres d'administration.

À partir des paramètres de la source de données Geomap, vous pouvez télécharger des bases de données personnalisées et spécifier la base de données à référencer par défaut pour les recherches de villes ou de pays.

Nous vous recommandons de télécharger uniquement une base de données personnalisée au niveau de la ville si vous avez l'intention d'appeler les deux GeoIP.getCountry() et GeoIP.getPreciseLocation() méthodes dans les déclencheurs. Si les deux types de bases de données personnalisées sont chargés, le système ExtraHop extrait les valeurs des deux méthodes à partir de la base de données au niveau de la ville et ignore la base de données au niveau du pays, qui est considérée comme un sous-ensemble de la base de données au niveau de la ville.

getCountry(ipaddr: Adresse IP ): Objet
Renvoie les détails au niveau du pays pour la zone spécifiée IPAddress dans un objet contenant les champs suivants :
continentName: Corde
Le nom du continent, tel que Europe, qui est associé au pays dont provient l'adresse IP spécifiée. La valeur est la même que continentName champ renvoyé par getPreciseLocation() méthode.
continentCode: Numéro
Le code du continent, tel que EU, qui est associée à la valeur de countryCode champ, conformément à la norme ISO 3166. La valeur est la même que continentCode champ renvoyé par getPreciseLocation() méthode.
countryName: Corde
Le nom du pays d'où provient l'adresse IP spécifiée, tel que United States. La valeur est la même que countryName champ renvoyé par getPreciseLocation() méthode.
countryCode: Corde
Le code associé au pays, selon la norme ISO 3166, tel que US. La valeur est la même que countryCode champ renvoyé par getPreciseLocation() méthode.

Retours null dans un champ pour lequel aucune donnée n'est disponible, ou renvoie une null objet si toutes les données de champ ne sont pas disponibles.

Remarque :Le getCountry() La méthode nécessite 20 Mo de RAM totale sur le système ExtraHop, ce qui peut affecter les performances du système. La première fois que cette méthode est appelée dans un déclencheur, le système ExtraHop réserve la quantité de RAM requise, sauf si getPreciseLocation() la méthode a déjà été appelée. Le getPreciseLocation() la méthode nécessite 100 Mo de RAM, donc une quantité de RAM suffisante sera déjà disponible pour appeler le getCountry() méthode. La quantité de RAM requise n'est pas par déclencheur ou par appel de méthode ; le système ExtraHop ne réserve la quantité de RAM requise qu'une seule fois.

Dans l'exemple de code suivant , getCountry() La méthode est appelée pour chaque événement spécifié et récupère les données de localisation approximatives pour chaque adresse IP du client :

// 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: Adresse IP ): Objet
Renvoie les détails au niveau de la ville pour la zone spécifiée IPAddress dans un objet contenant les champs suivants :
continentName: Corde
Le nom du continent, tel que Europe, qui est associé au pays dont provient l'adresse IP spécifiée. La valeur est la même que continentName champ renvoyé par getCountry() méthode.
continentCode: Numéro
Le code du continent, tel que EU, qui est associée à la valeur de countryCode champ, conformément à la norme ISO 3166. La valeur est la même que continentCode champ renvoyé par getCountry() méthode.
countryName: Corde
Le nom du pays d'où provient l'adresse IP spécifiée, tel que United States. La valeur est la même que countryName champ renvoyé par getCountry() méthode.
countryCode: Corde
Le code associé au pays, selon la norme ISO 3166, tel que US. La valeur est la même que countryCode champ renvoyé par getCountry() méthode.
region: Corde
La région, telle qu'un État ou une province, telle que Washington.
city: Corde
La ville d'où provient l'adresse IP, telle que Seattle.
latitude: Numéro
Latitude de l'emplacement de l'adresse IP.
longitude: Numéro
Longitude de l'emplacement de l'adresse IP.
radius: Numéro
Rayon, exprimé en kilomètres, autour des coordonnées de longitude et de latitude de l'emplacement de l'adresse IP.

Retours null dans un champ pour lequel aucune donnée n'est disponible, ou renvoie une null objet si toutes les données de champ ne sont pas disponibles.

Remarque :Le getPreciseLocation() La méthode nécessite 100 Mo de RAM totale sur le système ExtraHop, ce qui peut affecter les performances du système. La première fois que cette méthode est appelée dans un déclencheur, le système ExtraHop réserve la quantité de RAM requise, sauf si getCountry() la méthode a déjà été appelée. Le getCountry() La méthode nécessite 20 Mo de RAM, le système ExtraHop réserve donc 80 Mo de RAM supplémentaires. La quantité de RAM requise n'est pas par déclencheur ou par appel de méthode ; le système ExtraHop ne réserve la quantité de RAM requise qu'une seule fois.

IPAddress

Le IPAddress La classe vous permet de récupérer les attributs de l'adresse IP. La classe IPAddress est également disponible en tant que propriété pour la classe Flow.

Méthodes

IPAddress(ip: Corde | Numéro , mask: Numéro )
Constructeur pour la classe IPAddress qui prend deux paramètres :
ip: Corde
La chaîne d'adresse IP au format CIDR.
mask: Numéro
Le masque de sous-réseau facultatif au format numérique, représentant le nombre de bits « 1 » situés le plus à gauche du masque (facultatif).

Méthodes d'instance

equals(equals: Adresse IP ): Booléen
Effectue un test d'égalité entre les objets IPAddress, comme illustré dans l' exemple suivant :
if (Flow.client.ipaddr.toString() === "10.10.10.10")
{ // perform a task }
mask(mask: Numéro ): Adresse IP
Définit le masque de sous-réseau de l'objet IPAddress comme illustré dans l'exemple suivant :
if ((Flow.ipaddr1.mask(24).toString() === "173.194.33.0")||
(Flow.ipaddr2.mask(24).toString() === "173.194.33.0"))
{Flow.setApplication("My L4 App");}

Le mask Le paramètre spécifie le masque de sous-réseau dans un format numérique, représentant le nombre de bits « 1 » situés le plus à gauche dans le masque (facultatif).

toJSON(): Corde
Convertit l'objet IPAddress au format JSON.
toString(): Corde
Convertit l'objet IPAddress en chaîne imprimable.

Propriétés

hostNames: Tableau de chaînes
Tableau de noms d'hôtes associés à l'adresse IP.
isBroadcast: Booléen
La valeur est true si l'adresse IP est une adresse de diffusion.
isExternal: Booléen
La valeur est true si l'adresse IP est externe à votre réseau.
isLinkLocal: Booléen
La valeur est true si l'adresse IP est une adresse locale de lien telle que (169.254.0.0/16).
isMulticast: Booléen
La valeur est true si l'adresse IP est une adresse de multidiffusion.
isRFC1918: Booléen
La valeur est true si l'adresse IP appartient à l'une des plages d'adresses IP privées de la RFC1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). La valeur est toujours false pour les adresses IPv6.
isV4: Booléen
La valeur est true si l'adresse IP est une adresse IPv4.
isV6: Booléen
La valeur est true si l'adresse IP est une adresse IPv6.
localityName: Corde | nul
Le nom de la localité réseau dans laquelle se trouve l'adresse IP. Si l'adresse IP ne se trouve dans aucune localité réseau, la valeur est nulle.

Network

Le Network La classe vous permet d'ajouter des mesures personnalisées au niveau mondial.

Méthodes

metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de comptage. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Le nom de la métrique de comptage de niveau supérieur.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de comptage grâce auquel vous pouvez effectuer une analyse plus approfondie. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir la propriété suivante :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique du jeu de données. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique du jeu de données de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique du jeu de données grâce auquel vous pouvez effectuer une analyse plus approfondie. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique du nombre de détails.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
freq: Numéro
Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
Crée une personnalisation niveau supérieur métrique de comptage distincte. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique de comptage distincte de niveau supérieur.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
MetricAddDetailDistinct (metric_name) : Corde, clé : Corde | Adresse IP, article : Numéro | Corde | Adresse IP: nul
Crée une personnalisation détail métrique de comptage distincte par lequel vous pouvez approfondir. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique de comptage distincte détaillée.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
item: Numéro | Corde | Adresse IP
La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique maximale. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Le nom de la métrique maximale de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail métrique maximale grâce auquel vous pouvez effectuer une analyse plus approfondie. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique maximale de détail.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur Sampleset métrique. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
Crée une personnalisation détail Sampleset métrique par lequel vous pouvez approfondir. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
val: Numéro
La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
Crée une personnalisation niveau supérieur métrique de capture d'écran. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique de capture instantanée de niveau supérieur.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
Crée une personnalisation détail métrique de capture d'écran grâce auquel vous pouvez effectuer une analyse plus approfondie. Valide les données métriques sur le réseau spécifié.
metric_name: Corde
Nom de la métrique détaillée de l'ensemble d'échantillons.
key: Corde | Adresse IP
Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
count: Numéro
La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
options: Objet
Un objet facultatif qui peut contenir les propriétés suivantes :
highPrecision: Booléen
Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.

Session

Le Session la classe donne accès à la table de session. Il est conçu pour faciliter la coordination entre plusieurs déclencheurs s'exécutant indépendamment. L'état global de la table de session signifie que toute modification apportée par un déclencheur ou un processus externe devient visible pour tous les autres utilisateurs de la table de session. La table de session étant en mémoire, les modifications ne sont pas enregistrées lorsque vous redémarrez le système ExtraHop ou le processus de capture.

Voici quelques informations importantes à connaître au sujet des tables de session :

  • La table de session prend en charge les valeurs JavaScript ordinaires, ce qui vous permet d'ajouter des objets JS à la table.
  • Les entrées de la table de session peuvent être supprimées lorsque la table devient trop grande ou lorsque l'expiration configurée est atteinte.
  • Parce que la table de session sur un sonde n'est pas partagé avec console, les valeurs de la table de session ne sont pas partagées avec les autres utilisateurs connectés capteurs.
  • L'API ExtraHop Open Data Context expose le tableau des sessions via le réseau de gestion, permettant ainsi la coordination avec les processus externes via le cache mémoire protocole.

Évènements

La classe Session ne se limite pas uniquement aux SESSION_EXPIRE événement. Vous pouvez appliquer la classe Session à n'importe quel événement ExtraHop.

SESSION_EXPIRE
S'exécute périodiquement (par incréments d'environ 30 secondes) tant que la table de session est utilisée. Lorsque le SESSION_EXPIRE un événement se déclenche, les clés expirées au cours des 30 secondes précédentes sont disponibles via le Session.expiredKeys propriété.

Le SESSION_EXPIRE l'événement n'est associé à aucun flux particulier, il se déclenche donc SESSION_EXPIRE les événements ne peuvent pas valider les métriques de l'équipement via Device.metricAdd*() méthodes ou Flow.client.device.metricAdd*() méthodes. Pour valider les métriques de l'équipement lors de cet événement, vous devez ajouter Device objets vers le tableau de session par le biais du Device() méthode d'instance.

Remarque :Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.
TIMER_30SEC
Fonctionne exactement toutes les 30 secondes. Cet événement vous permet d'effectuer des traitements périodiques, tels que l'accès régulier aux entrées de table de session ajoutées via le API de contexte de données ouvertes.
Remarque :Vous pouvez appliquer n'importe quelle classe de déclencheur à l'événement TIMER_30SEC.
Remarque :Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.

Méthodes

add(key: Corde , value*, options: Objet ): *
Ajoute la clé spécifiée dans le tableau de session. Si la clé est présente, la valeur correspondante est renvoyée sans modifier l'entrée clé dans le tableau. Si la clé n'est pas présente, une nouvelle entrée est créée pour la clé et la valeur, et la nouvelle valeur est renvoyée.

Vous pouvez configurer une option Des options objet pour la clé spécifiée.

getOptions(key: Corde ): Objet
Renvoie le Des options objet pour la clé spécifiée. Vous configurez les options lors des appels à Session.add(), Session.modify(), ou Session.replace().
increment(key: Corde , count: Numéro ): Numéro | nul
Recherche la clé spécifiée et incrémente la valeur de la clé du nombre spécifié. La valeur par défaut du paramètre de comptage facultatif est 1. Renvoie la nouvelle valeur de la clé si l' appel est réussi. Retours null si la recherche échoue. Renvoie une erreur si la valeur de la clé n'est pas un nombre.
lookup(key: Corde ): *
Recherche la clé spécifiée dans la table de session et renvoie la valeur correspondante. Retours null si la clé n'est pas présente.
modify(key: Corde , value: *, options: Objet ): *
Modifie la valeur de clé spécifiée, si la clé est présente dans la table de session, et renvoie la valeur précédente. Si la clé n'est pas présente, aucune nouvelle entrée n'est créée.

En cas de modification de l'option Des options les objets sont inclus, les options clés sont mises à jour. et les anciennes options sont fusionnées avec les nouvelles. Si le expire l'option est modifiée, le délai d'expiration est réinitialisé.

remove(key: Corde ): *
Supprime l'entrée pour la clé donnée et renvoie la valeur associée.
replace(key: Corde , value: *, options: Objet ): *
Met à jour l'entrée associée à la clé donnée. Si la clé est présente, mettez à jour la valeur et renvoyez la valeur précédente. Si la clé n'est pas présente, ajoutez l'entrée et renvoyez la valeur précédente (null).

En cas de modification de l'option Des options les objets sont inclus, les options clés sont mises à jour et les anciennes options sont fusionnées avec les nouvelles. Si le expire l'option est fournie, le délai d'expiration est réinitialisé.

Des options

expire: Numéro
Durée après laquelle l'expulsion a lieu, exprimée en secondes. Si la valeur est null ou undefined, l'entrée n'est supprimée que lorsque la table de session devient trop grande.
notify: Booléen
Indique si la clé est disponible sur SESSION_EXPIRE événements. La valeur par défaut est false.
priority: Corde
Niveau de priorité qui détermine les entrées à expulser si la table de session devient trop grande. Les valeurs valides sont PRIORITY_LOW, PRIORITY_NORMAL, et PRIORITY_HIGH. La valeur par défaut est PRIORITY_NORMAL.

Constantes

PRIORITY_LOW: Numéro
Représentation numérique du niveau de priorité le plus bas. La valeur est 0. Les niveaux de priorité déterminent l'ordre dans lequel les entrées sont supprimées de la table de session si celle-ci devient trop grande.
PRIORITY_NORMAL: Numéro
Représentation numérique du niveau de priorité par défaut. La valeur est 1. Les niveaux de priorité déterminent l'ordre dans lequel les entrées sont supprimées de la table de session si celle-ci devient trop grande.
PRIORITY_HIGH: Numéro
Représentation numérique du niveau de priorité le plus élevé. La valeur est 2. Les niveaux de priorité déterminent l'ordre dans lequel les entrées sont supprimées de la table de session si celle-ci devient trop grande.

Propriétés

expiredKeys: Array
Tableau d'objets présentant les propriétés suivantes :
age: Numéro
Âge de l'objet expiré, exprimé en millisecondes. L'âge est le temps écoulé entre le moment où l'objet de la table de session a été ajouté ou l' option d'expiration de l'objet a été modifiée, et le SESSION_EXPIRE événement. L'âge détermine si la clé a été expulsée ou a expiré.
name: Corde
La clé de l'objet expiré.
value: Numéro | Corde | Adresse IP | Booléen | Appareil
La valeur de l'entrée dans le tableau de session.

Les clés expirées incluent les clés qui ont été expulsées parce que la table est devenue trop grande.

Le expiredKeys la propriété n'est accessible que sur SESSION_EXPIRE événements ; dans le cas contraire, une erreur se produira.

System

Le System la classe vous permet de récupérer des informations sur le sonde ou console sur lequel un déclencheur est en cours d'exécution. Ces informations sont utiles dans les environnements comportant plusieurs capteurs.

Propriétés

uuid: Corde
L'identifiant unique universel (UUID) du sonde ou console.
ipaddr: Adresse IP
Le IPAddress objet de l' interface de gestion principale (Interface 1) sur la sonde.
hostname: Corde
Le nom d'hôte du sonde ou console configuré dans les paramètres d'administration.
version: Corde
La version du microprogramme exécutée sur le sonde ou console.

ThreatIntel

Le ThreatIntel La classe vous permet de voir si des menaces ont été détectées pour les adresses IP, les noms d'hôte ou les URI. (ExtraHop RevealX Premium et Ultra uniquement)

Méthodes

hasIP(address: Adresse IP ): booléen
La valeur est true si les menaces ont été détectées pour l' adresse IP spécifiée. Si aucune information de renseignement n'est disponible sur le système ExtraHop, la valeur est null.
hasDomain(domain: Corde ): booléen
La valeur est true si les menaces ont été détectées pour le domaine spécifié. Si aucune information de renseignement n'est disponible sur le système ExtraHop, la valeur est null.
hasURI(uri: Corde ): booléen
La valeur est true si les menaces ont été détectées pour l' URI spécifiée. Si aucune information de renseignement n'est disponible sur le système ExtraHop, la valeur est null.

Propriétés

isAvailable: booléen
La valeur est true si des renseignements sur les menaces sont disponibles sur le système ExtraHop.

Trigger

Le Trigger La classe vous permet d'accéder aux détails d'un déclencheur en cours d'exécution.

Propriétés

isDebugEnabled: booléen
La valeur est true si le débogage est activé pour le déclencheur. La valeur est déterminée par l'état du Activer le journal de débogage case à cocher dans le volet Modifier le déclencheur du système ExtraHop.

VLAN

Le VLAN la classe représente un VLAN sur le réseau.

Propriétés de l'instance

id: Numéro
L'ID numérique d'un VLAN.

Classes de données de protocole et de réseau

Les classes d'API Trigger présentées dans cette section vous permettent d'accéder aux propriétés et d'enregistrer les métriques de protocole, message et activité de flux qui se produit sur le système ExtraHop ExtraHop.

Classe Descriptif
AAA Vous permet de stocker des métriques et d'accéder aux propriétés sur AAA_REQUEST ou AAA_RESPONSE événements.
ActiveMQ Vous permet de stocker des métriques et d'accéder aux propriétés sur ACTIVEMQ_MESSAGE événements.
AJP La classe AJP vous permet de stocker des métriques et d'accéder aux propriétés sur AJP_REQUEST et AJP_RESPONSE événements.
CDP La classe CDP vous permet de stocker des métriques et des propriétés d'accès sur CDP_FRAME événements.
CIFS Vous permet de stocker des métriques et d'accéder aux propriétés sur CIFS_REQUEST et CIFS_RESPONSE événements.
DB Vous permet de stocker des métriques et d'accéder aux propriétés sur DB_REQUEST et DB_RESPONSE événements.
DHCP Vous permet de stocker des métriques et d'accéder aux propriétés sur DHCP_REQUEST et DHCP_RESPONSE événements.
DICOM Vous permet de stocker des métriques et d'accéder aux propriétés sur DICOM_REQUEST et DICOM_RESPONSE événements.
DNS Vous permet de stocker des métriques et d'accéder aux propriétés sur DNS_REQUEST et DNS_RESPONSE événements.
FIX Vous permet de stocker des métriques et d'accéder aux propriétés sur FIX_REQUEST et FIX_RESPONSE événements.
FTP Vous permet de stocker des métriques et d'accéder aux propriétés sur FTP_REQUEST et FTP_RESPONSE événements.
HL7 Vous permet de stocker des métriques et d'accéder aux propriétés sur HL7_REQUEST et HL7_RESPONSE événements.
HTTP Vous permet de stocker des métriques et d'accéder aux propriétés sur HTTP_REQUEST et HTTP_RESPONSE événements.
IBMMQ Vous permet de stocker des métriques et d'accéder aux propriétés sur IBMMQ_REQUEST et IBMMQ_RESPONSE événements.
ICA Vous permet de stocker des métriques et d'accéder aux propriétés sur ICA_OPEN, ICA_AUTH, ICA_TICK, et ICA_CLOSE événements.
ICMP Vous permet de stocker des métriques et d'accéder aux propriétés sur ICMP_MESSAGE événements.
Kerberos Vous permet de stocker des métriques et d'accéder aux propriétés sur KERBEROS_REQUEST et KERBEROS_RESPONSE événements.
LDAP Vous permet de stocker des métriques et d'accéder aux propriétés sur LDAP_REQUEST et LDAP_RESPONSE événements.
LLDP Vous permet d'accéder aux propriétés sur LLDP_FRAME événements.
Memcache Vous permet de stocker des métriques et d'accéder aux propriétés sur MEMCACHE_REQUEST et MEMCACHE_RESPONSE événements.
Modbus Vous permet de stocker des métriques et d'accéder aux propriétés sur MODBUS_REQUEST et MODBUS_RESPONSE événements.
MongoDB La classe MongoDB vous permet de stocker des métriques et d'accéder aux propriétés sur MONGODB_REQUEST et MONGODB_RESPONSE événements.
MSMQ La classe MSMQ vous permet de stocker des métriques et d'accéder aux propriétés sur MSMQ_MESSAGE événement.
NetFlow Vous permet de stocker des métriques et d'accéder aux propriétés sur NETFLOW_RECORD événements.
NFS Vous permet de stocker des métriques et d'accéder aux propriétés sur NFS_REQUEST et NFS_RESPONSE événements.
NTLM Vous permet de stocker des métriques et d'accéder aux propriétés sur NTLM_MESSAGE événements.
POP3 Vous permet de stocker des métriques et d'accéder aux propriétés sur POP3_REQUEST et POP3_RESPONSE événements.
RDP Vous permet de stocker des métriques et d'accéder aux propriétés sur RDP_OPEN, RDP_CLOSE, et RDP_TICK événements.
Redis Vous permet de stocker des métriques et d'accéder aux propriétés sur REDIS_REQUEST et REDIS_RESPONSE événements.
RPC Vous permet de stocker des métriques et d'accéder aux propriétés sur RPC_REQUEST et RPC_RESPONSE événements.
RTCP Vous permet de stocker des métriques et d'accéder aux propriétés sur RTCP_MESSAGE événements.
RTP Vous permet de stocker des métriques et d'accéder aux propriétés sur RTP_OPEN, RTP_CLOSE, et RTP_TICK événements.
SCCP Vous permet de stocker des métriques et d'accéder aux propriétés sur SCCP_MESSAGE événements.
SDP Vous permet d'accéder aux propriétés sur SIP_REQUEST et SIP_RESPONSE événements.
SFlow Vous permet de stocker des métriques et d'accéder aux propriétés sur SFLOW_RECORD événements.
SIP Vous permet de stocker des métriques et d'accéder aux propriétés sur SIP_REQUEST et SIP_RESPONSE événements.
SMPP Vous permet de stocker des métriques et d'accéder aux propriétés sur SMPP_REQUEST et SMPP_RESPONSE événements.
SMTP Vous permet de stocker des métriques et d'accéder aux propriétés sur SMTP_REQUEST et SMTP_RESPONSE événements.
SSH Vous permet de stocker des métriques et d'accéder aux propriétés sur SSH_CLOSE, SSH_OPEN et SSH_TICK événements.
SSL Vous permet de stocker des métriques et d'accéder aux propriétés sur SSL_OPEN, SSL_CLOSE, SSL_ALERT, SSL_RECORD, SSL_HEARTBEAT, et SSL_RENEGOTIATE événements.
TCP Vous permet d'accéder aux propriétés et de récupérer des métriques à partir d'événements TCP, etc. FLOW_TICK et FLOW_TURN événements.
Telnet Vous permet de stocker des métriques et d'accéder aux propriétés sur TELNET_MESSAGE événements.
Turn Vous permet de stocker des métriques et d'accéder aux propriétés sur FLOW_TURN événements.
UDP Vous permet d'accéder aux propriétés et de récupérer des métriques à partir d'événements UDP, etc. FLOW_TICK et FLOW_TURN événements.
WebSocket Vous permet d'accéder aux propriétés sur WEBSOCKET_OPEN, WEBSOCKET_CLOSE, et WEBSOCKET_MESSAGE événements.

AAA

Le AAA La classe (Authentication, autorisation et comptabilité) vous permet de stocker des métriques et d'accéder aux propriétés sur AAA_REQUEST ou AAA_RESPONSE événements.

Évènements

AAA_REQUEST
S'exécute lorsque le système ExtraHop a fini de traiter une demande AAA.
AAA_RESPONSE
Fonctionne sur chaque réponse AAA traitée par l'équipement.

Méthodes

commitRecord(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un AAA_REQUEST ou AAA_RESPONSE événement.

L'événement détermine les propriétés qui sont validées dans l'objet d'enregistrement. Pour consulter les propriétés par défaut validées pour chaque événement, consultez le record propriété ci-dessous.

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si le commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.

Propriétés

authenticator: Corde
La valeur du champ d'authentificateur (RADIUS uniquement).
avps: Array
Un tableau d'objets AVP présentant les propriétés suivantes :
avpLength: Numéro
La taille de l'AVP, exprimée en octets. Cette valeur inclut les données d'en-tête AVP, ainsi que la valeur.
id: Numéro
L'ID numérique de l'attribut représenté sous forme de nombre entier.
isGrouped: Booléen
La valeur est true s'il s'agit d'un AVP groupé (diamètre uniquement).
name: Corde
Le nom de l'AVP donné.
vendor: Corde
Le nom du fournisseur pour les AVP du fournisseur (Diameter uniquement).
value: Corde | Array | Numéro
Pour les AVP uniques, une chaîne ou une valeur numérique. Pour les AVP groupés (diamètre uniquement), un tableau d'objets.
isDiameter: Booléen
La valeur est true si la demande ou la réponse est Diameter.
isError: Booléen
La valeur est true si la réponse est une erreur. Pour récupérer le détail de l'erreur dans Diameter, vérifiez AAA.statusCode. Pour récupérer les détails de l'erreur dans RADIUS, vérifiez l'AVP avec le code 18 (message de réponse).

Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.

isRadius: Booléen
La valeur est true si la demande ou la réponse est RADIUS.
isRspAborted: Booléen
La valeur est true si le AAA_RESPONSE l'événement est annulé.

Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.

method: Numéro
Méthode correspondant au code de commande dans RADIUS ou Diameter.

Le tableau suivant contient les codes de commande Diameter valides :

Nom de la commande Abbé. Code
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

Le tableau suivant contient des codes de commande RADIUS valides :

Nom de la commande Code
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: Numéro
Le temps de traitement du serveur, exprimé en millisecondes. La valeur est NaN si le chronométrage n'est pas valide.

Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.

record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à AAA.commitRecord() sur l'un ou l'autre AAA_REQUEST ou AAA_RESPONSE événement.

L'événement au cours duquel la méthode a été appelée détermine les propriétés que l'objet d'enregistrement par défaut peut contenir, comme indiqué dans le tableau suivant :

AAA_REQUEST 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: Numéro
Le nombre de L4 octets de demande, à l'exception des en-têtes L4.
reqL2Bytes: Numéro
Le nombre de L2 octets de demande, y compris les en-têtes L2.
reqPkts: Numéro
Le nombre de paquets de demandes.
reqRTO: Numéro
Le numéro de demande délais de retransmission (RTO).

Accès uniquement sur AAA_REQUEST événements ; dans le cas contraire, une erreur se produira.

reqZeroWnd: Numéro
Le nombre de fenêtres nulles dans la demande.
roundTripTime: Numéro
Le temps moyen aller-retour (RTT), exprimé en millisecondes. La valeur est NaN s'il n'y a pas d'échantillons RTT.
rspBytes: Numéro
Le nombre de L4 octets de réponse, à l'exclusion de la surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.
rspL2Bytes: Numéro
Le nombre de L2 octets de réponse, y compris la surcharge du protocole, comme les en-têtes.
rspPkts: Numéro
Le nombre de paquets de réponse.
rspRTO: Numéro
Le nombre de réponses délais de retransmission (RTO).

Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.

rspZeroWnd: Numéro
Le nombre de fenêtres nulles dans la réponse.
statusCode: Corde
Une représentation sous forme de chaîne de l'identifiant AVP 268 (code de résultat).

Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.

txId: Numéro
Une valeur qui correspond à l'identifiant saut par saut dans Diameter et à l'identifiant msg-id dans RADIUS.

ActiveMQ

Le ActiveMQ la classe vous permet de stocker des métriques et d'accéder à des propriétés sur ACTIVEMQ_MESSAGE événements. ActiveMQ est une implémentation du service de messagerie Java (JMS).

Évènements

ACTIVEMQ_MESSAGE
S'exécute sur tous les messages JMS traités par l'équipement.

Méthodes

commitRecord(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un ACTIVEMQ_MESSAGE événement.

Pour afficher les propriétés par défaut validées pour l'objet d'enregistrement, consultez record propriété ci-dessous.

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() La méthode est appelée plusieurs fois pour le même enregistrement unique.

Propriétés

correlationId: Corde
Le champ JMScorrelationID du message.
exceptionResponse: Objet | Null
Le champ JMSException du message. Si la commande du message n'est pas ExceptionResponse, la valeur est nulle. L'objet contient les champs suivants :
message: Corde
Le message de réponse à l'exception.
class: Corde
La sous-classe de la JMSException.
expiration: Numéro
Le champ JMSExpiration du message.
msg: Tampon
Le corps du message. Pour les messages au format TEXT_MESSAGE, le corps du message est renvoyé sous la forme d'une chaîne UTF-8. Pour tous les autres formats de message, cela renvoie les octets bruts.
msgFormat: Corde
Format du message. Les valeurs possibles sont les suivantes :
  • BYTES_MESSAGE
  • MAP_MESSAGE
  • MESSAGE
  • OBJECT_MESSAGE
  • STREAM_MESSAGE
  • TEXT_MESSAGE
  • BLOG_MESSAGE
msgId: Corde
Le champ JMSMessageID du message.
persistent: Booléen
La valeur est true si le JMSDeliveryMode est PERSISTANT.
priority: Numéro
Le champ JMSPriority du message.
  • 0 est la priorité la plus basse.
  • 9 est la priorité la plus élevée.
  • 0 à 4 sont des gradations de priorité normale.
  • 5 à 9 sont des gradations de priorité accélérée.
properties: Objet
Zéro ou plusieurs propriétés associées au message. Les clés sont des chaînes arbitraires et les valeurs peuvent être des booléens, des nombres ou des chaînes.
queue: Corde
Le champ JMSDestination du message.
receiverBytes: Numéro
Le nombre d'octets au niveau de l'application provenant du récepteur.
receiverIsBroker: Booléen
La valeur est true si le destinataire du message au niveau du flux est un courtier.
receiverL2Bytes: Numéro
Le nombre de L2 octets provenant du récepteur.
receiverPkts: Numéro
Le nombre de paquets provenant du récepteur.
receiverRTO: Numéro
Le nombre de RTO émis par le récepteur.
receiverZeroWnd: Numéro
Le nombre de fenêtres nulles envoyées par le récepteur.
record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à ActiveMQ.commitRecord() sur un ACTIVEMQ_MESSAGE événement.

L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :

  • 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: Numéro
Le nombre de relivraisons.
replyTo: Corde
Le champ JMSReplyTo du message, converti en chaîne.
roundTripTime: Numéro
Le temps médian aller-retour (RTT), exprimé en millisecondes. La valeur est NaN s'il n'y a pas d'échantillons RTT.
senderBytes: Numéro
Le nombre d'octets au niveau de l'application provenant de l'expéditeur.
senderIsBroker: Booléen
La valeur est true si l'expéditeur du message au niveau du flux est un courtier.
senderL2Bytes: Numéro
Le nombre de L2 octets provenant de l'expéditeur.
senderPkts: Numéro
Le nombre de paquets provenant de l'expéditeur.
senderRTO: Numéro
Le nombre de RTO émis par l'expéditeur.
senderZeroWnd: Numéro
Le nombre de fenêtres nulles envoyées par l'expéditeur.
timestamp: Numéro
Heure à laquelle le message a été transmis à un fournisseur pour être envoyé, exprimée en GMT. Il s'agit du champ JMSTimestamp du message.
totalMsgLength: Numéro
Longueur du message, exprimée en octets.

AJP

Le protocole AJP (Apache JServ Protocol) transmet par proxy les requêtes entrantes d'un serveur Web à un serveur d'applications et est souvent appliqué à des environnements à charge équilibrée dans lesquels un ou plusieurs serveurs Web frontaux transmettent des demandes à un ou plusieurs serveurs d'applications. Le AJP la classe vous permet de stocker des métriques et d'accéder à des propriétés sur AJP_REQUEST et AJP_RESPONSE événements.

Évènements

AJP_REQUEST
S'exécute une fois que le serveur Web a envoyé un message de demande de transfert AJP à un conteneur de servlets, puis a transféré le corps de la requête suivant.
AJP_RESPONSE
S'exécute lorsqu'un conteneur de servlet envoie un message de réponse de fin AJP pour signaler que le conteneur de servlet a fini de traiter une demande de transfert AJP et a renvoyé les informations demandées.

Méthodes

commitRecord(): Vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un AJP_RESPONSE événement. Enregistrez les validations le AJP_REQUEST les événements ne sont pas pris en charge.

Pour afficher les propriétés par défaut validées pour l' objet d'enregistrement, consultez record propriété ci-dessous.

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() La méthode est appelée plusieurs fois pour le même enregistrement unique.

findHeaders(name: Corde ): Array
Accède aux valeurs d'en-tête AJP et renvoie un tableau d'objets d'en-tête (avec des propriétés de nom et de valeur) dont les noms correspondent au préfixe de la chaîne spécifiée. Accède aux en-têtes de demande sur AJP_REQUEST événements et en-têtes de réponse sur AJP_RESPONSE demandes.

Propriétés

attributes: Objet
Tableau d'attributs AJP facultatifs envoyés avec la demande, tels que remote_user, auth_type, query_string, jvm_route, ssl_cert, ssl_cipher et ssl_session.

Accès uniquement sur AJP_REQUEST événements ; sinon, une erreur se produira.

fwdReqClientAddr: Adresse IP
Le IPAddress du client HTTP qui a envoyé la demande initiale au serveur. La valeur est null si les informations disponibles ne peuvent pas être analysées vers une adresse IP.
fwdReqHost: Corde
L'hôte HTTP spécifié par le client HTTP qui a envoyé la demande initiale au serveur.
fwdReqIsEncrypted: Booléen
La valeur est true si le chiffrement TLS a été appliqué par le client HTTP qui a envoyé la demande initiale au serveur.
fwdReqServerName: Corde
Le nom du serveur auquel le client HTTP a envoyé la demande initiale.
Port du serveur FWDREQ : Numéro
Port TCP du serveur auquel le client HTTP a fait la demande initiale.
headers: Objet
Lors de l'accès sur AJP_REQUEST events, un tableau de noms d'en-têtes et de valeurs envoyés avec la demande.

Lors de l'accès sur AJP_RESPONSE events, un tableau d'en-têtes transmis dans le message AJP Send Headers par le serveur au navigateur de l'utilisateur final .

method: Corde
Méthode HTTP de la requête, telle que POST ou GET, envoyée du serveur au conteneur de servlets.
processingTime: Numéro
Temps entre le dernier octet de la demande reçue et le premier octet de la charge utile de réponse envoyée, exprimé en millisecondes. La valeur est NaN en cas de réponses mal formées et abandonnées ou si le timing n' est pas valide.

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

protocol: Corde
Le protocole de la requête envoyée par le serveur au conteneur de servlets. Non défini pour les autres types de messages.
record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à AJP.commitRecord() sur un AJP_RESPONSE événement.

L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :

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

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

reqBytes: Numéro
Le nombre de L4 octets de requête, à l'exclusion des en-têtes L4.

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

reqL2Bytes: Numéro
Le nombre de L2 octets de requête, y compris les en-têtes L2.
reqPkts: Numéro
Le nombre de paquets de requêtes.
reqRTO: Numéro
Le numéro de demande délais de retransmission (RTO).
reqSize: Numéro
Nombre d'octets de requête L7, à l'exclusion des en-têtes AJP.
rspBytes: Numéro
Le nombre de L4 octets de réponse, à l'exclusion de la surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

rspL2Bytes: Numéro
Le nombre de L2 octets de réponse, y compris la surcharge du protocole, telle que les en-têtes.

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

rspPkts: Numéro
Le nombre de paquets de réponse.

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

rspRTO: Numéro
Le nombre de réponses délais de retransmission (RTO).

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

rspSize: Numéro
Nombre d'octets de réponse L7, à l'exclusion des en-têtes AJP.

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

statusCode: Numéro
Le code d'état HTTP renvoyé par le conteneur de servlets pour les réponses aux messages AJP Forward Request.

Accès uniquement sur AJP_RESPONSE événements ; sinon, une erreur se produira.

uri: Corde
L'URI de la demande envoyée par le serveur au conteneur de servlets. Non défini pour les types de messages non AJP.

CDP

Le Cisco Discovery Protocol (CDP) est un protocole propriétaire qui permet aux appareils Cisco connectés de s'envoyer des informations entre eux. Le CDP la classe vous permet d' accéder aux propriétés sur CDP_FRAME événements.

Évènements

CDP_FRAME
Fonctionne sur chaque trame CDP traitée par l'équipement.

Propriétés

destination: Corde
Adresse MAC de destination. La destination la plus courante est 01:00:0c:cc:cc:cc, indiquant une adresse de multidiffusion.
checksum: Numéro
La somme de contrôle du CDP.
source: Appareil
L'équipement qui envoie la trame CDP.
ttl: Numéro
Le temps de vie, exprimé en secondes. Il s'agit de la durée pendant laquelle les informations contenues dans ce cadre sont valides, à compter de leur réception.
tlvs: Tableau d'objets
Un tableau contenant chaque champ de type, de longueur et de valeur (TLV). Un champ TLV contient des informations telles que l'identifiant, l'adresse et la plate-forme de l'équipement. Chaque champ est un objet doté des propriétés suivantes :
type: Numéro
Le type de TLV.
value: Tampon
La valeur du TLV.
version: Numéro
Version du protocole CDP.

CIFS

Le CIFS la classe vous permet de stocker des métriques et d'accéder à des propriétés sur CIFS_REQUEST et CIFS_RESPONSE événements.

Évènements

CIFS_REQUEST
S'exécute sur chaque demande SMB traitée par l'équipement.
CIFS_RESPONSE
S'exécute sur chaque réponse SMB traitée par l'équipement.
Remarque :Le CIFS_RESPONSE l'événement se déroule après chaque CIFS_REQUEST événement, même si la réponse correspondante n'est jamais observée par le système ExtraHop .

Méthodes

commitRecord(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur CIFS_RESPONSE événement. Enregistrez les validations le CIFS_REQUEST les événements ne sont pas pris en charge.

Pour afficher les propriétés par défaut validées pour l' objet d'enregistrement, consultez record propriété ci-dessous.

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() La méthode est appelée plusieurs fois pour le même enregistrement unique.

Propriétés

Important :Le temps d'accès est le temps nécessaire à un serveur SMB pour recevoir un bloc demandé. Il n'y a pas de temps d'accès pour les opérations qui n'accèdent pas aux données de bloc réelles d'un fichier. Le temps de traitement est le temps nécessaire à un serveur SMB pour répondre à l' opération demandée par le client, telle qu'une demande de récupération de métadonnées.

Il n'existe aucun temps d'accès pour les commandes SMB2_CREATE, qui créent un fichier référencé dans la réponse par une commande SMB2_FILEID. Les blocs de fichiers référencés sont ensuite lus ou écrits sur l'équipement de stockage NAS. Ces opérations de lecture et d'écriture de fichiers sont calculées en tant que temps d'accès.

accessTime: Numéro
Temps nécessaire au serveur pour accéder à un fichier sur disque, exprimé en millisecondes. Pour SMB, il s'agit du temps écoulé entre la première commande READ d'un flux SMB et le premier octet de la charge utile de réponse. La valeur est NaN si la mesure ou le chronométrage ne sont pas valides.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

dialect: Corde
Le dialecte du SMB négocié entre le client et le serveur.
encryptedBytes: Numéro
Le nombre d'octets chiffrés contenus dans la demande ou la réponse.
encryptionProtocol: Corde
Le protocole avec lequel la transaction est cryptée.
error: Corde
Message d'erreur détaillé enregistré par le système ExtraHop.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

filename: Corde
Le nom du fichier en cours de transfert.
isCommandCreate: Booléen
La valeur est true si le message contient une commande de création de fichier SMB.
isCommandClose: Booléen
La valeur est true si le message contient une commande SMB CLOSE.
isCommandDelete: Booléen
La valeur est true si le message contient une commande SMB DELETE.
isCommandFileInfo: Booléen
La valeur est true si le message contient une commande SMB file info.
isCommandLock: Booléen
La valeur est true si le message contient une commande de verrouillage SMB.
isCommandRead: Booléen
La valeur est true si le message contient une commande SMB READ.
isCommandRename: Booléen
La valeur est true si le message contient une commande SMB RENAME.
isCommandWrite: Booléen
La valeur est true si le message contient une commande SMB WRITE.
isDecrypted: Booléen
La valeur est vraie si le système ExtraHop a déchiffré et analysé la transaction de manière sécurisée. L'analyse du trafic déchiffré peut révéler des menaces avancées qui se cachent dans le trafic chiffré.
isEncrypted: Booléen
La valeur est vraie si la transaction est cryptée.
isRspAborted: Booléen
La valeur est vraie si la connexion est fermée avant la fin de la réponse SMB .

Accès uniquement sur CIFS_RESPONSE événements ; dans le cas contraire, une erreur se produira.

isRspSigned: Booléen
La valeur est vraie si la réponse est signée par le serveur SMB.
method: Corde
La méthode SMB. Correspond aux méthodes répertoriées sous la métrique SMB dans le système ExtraHop.
msgID: Numéro
L'identifiant de transaction SMB.
payload: Tampon
Le Tampon objet contenant les octets de charge utile à partir de la commande READ ou WRITE du message SMB.

La mémoire tampon contient N premiers octets de la charge utile, où N est le nombre d'octets de charge utile spécifié par Octets de charge utile L7 vers la mémoire tampon option lorsque le déclencheur a été configuré via l'interface utilisateur Web ExtraHop. Le nombre d'octets par défaut est de 2 048. Pour plus d'informations, voir Options de déclencheur avancées.

Remarque :La mémoire tampon ne peut pas contenir plus de 4 Ko, même si Octets de charge utile L7 vers la mémoire tampon l'option est définie sur une valeur plus élevée.

Pour des volumes plus importants d'octets de charge utile, la charge utile peut être répartie sur une série de commandes READ ou WRITE afin qu'aucun événement déclencheur ne contienne l'intégralité de la charge utile demandée. Vous pouvez réassembler la charge utile en une seule mémoire tampon consolidée via Flow.store et payloadOffset propriétés.

payloadMediaType: Corde | Null
Type de support contenu dans la charge utile. La valeur est nulle s'il n'y a aucune charge utile ou si le type de support est inconnu.
payloadOffset: Numéro
Le décalage du fichier, exprimé en octets, dans la resource propriété. La propriété de charge utile est obtenue à partir de resource propriété au décalage.
payloadSHA256: Corde | Null
Représentation hexadécimale du hachage SHA-256 de la charge utile. La chaîne ne contient aucun délimiteur, comme illustré dans l'exemple suivant :
468c6c84db844821c9ccb0983c78d1cc05327119b894b5ca1c6a1318784d3675

S' il n'y a pas de charge utile, la valeur est nulle.

processingTime: Numéro
Le temps de traitement du serveur, exprimé en millisecondes. La valeur est NaN en cas de réponses mal formées et abandonnées ou si le timing n' est pas valide.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à CIFS.commitRecord sur un CIFS_RESPONSE événement.

L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :

  • 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

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

reqBytes: Numéro
Le nombre de L4 octets de requête, à l'exclusion des en-têtes L4.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

reqL2Bytes: Numéro
Le nombre de L2 octets de requête, y compris les en-têtes L2.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

reqPkts: Numéro
Le nombre de paquets de requêtes.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

reqRTO: Numéro
Le numéro de demande délais de retransmission (RTO).

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

reqSize: Numéro
Nombre d'octets de requête L7, à l'exclusion des en-têtes SMB.
reqTransferTime: Numéro
Le temps de transfert de la demande, exprimé en millisecondes. Si la demande est contenue dans un seul paquet, le temps de transfert est nul. Si la demande s'étend sur plusieurs paquets, la valeur est le laps de temps entre la détection du premier paquet de requête SMB et la détection du dernier paquet par le système ExtraHop. Une valeur élevée peut indiquer une demande SMB importante ou un retard du réseau. La valeur est NaN s'il n'y a pas de mesure valide ou si le chronométrage n'est pas valide.

Accès uniquement sur CIFS_REQUEST événements ; dans le cas contraire, une erreur se produira.

reqVersion: Corde
Version de SMB exécutée sur la demande.
reqZeroWnd: Numéro
Le nombre de fenêtres nulles dans la demande.
resource: Corde
Le partage, le chemin et le nom de fichier, concaténés ensemble.
roundTripTime: Numéro
Le temps d'aller-retour médian (RTT), exprimé en millisecondes. La valeur est NaN s'il n'y a pas d'échantillons RTT.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

rspBytes: Numéro
Le nombre de L4 octets de réponse, à l'exclusion de la surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

rspL2Bytes: Numéro
Le nombre de L2 octets de réponse, y compris la surcharge du protocole, telle que les en-têtes.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

rspPkts: Numéro
Le nombre de paquets de réponse.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

rspRTO: Numéro
Le nombre de réponses délais de retransmission (RTO).

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

rspSize: Numéro
Nombre d'octets de réponse L7, à l'exclusion des en-têtes SMB.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

rspTransferTime: Numéro
Le temps de transfert de la réponse, exprimé en millisecondes. Si la réponse est contenue dans un seul paquet, le temps de transfert est nul. Si la réponse couvre plusieurs paquets, la valeur est la durée entre la détection du premier paquet de réponse SMB et la détection du dernier paquet par le système ExtraHop. Une valeur élevée peut indiquer une réponse SMB importante ou un retard du réseau. La valeur est NaN s'il n'y a pas de mesure valide ou si le chronométrage n'est pas valide.

Accès uniquement sur CIFS_RESPONSE événements ; dans le cas contraire, une erreur se produira.

rspVersion: Corde
Version de SMB exécutée sur la réponse.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

rspZeroWnd: Numéro
Le nombre de fenêtres nulles dans la réponse.
share: Corde
Le nom du partage auquel l'utilisateur est connecté.
statusCode: Numéro
Le code dquo numérique de la réponse (SMB1 et SMB2 uniquement).

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

user: Corde
Le nom d'utilisateur, s'il est disponible. Dans certains cas, par exemple lorsque l'événement de connexion n'était pas visible ou que l'accès était anonyme, le nom d'utilisateur n'est pas disponible.
warning: Corde
Message d'avertissement détaillé enregistré par le système ExtraHop.

Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.

DB

Le DB, ou base de données, la classe vous permet de stocker des métriques et d'accéder aux propriétés sur DB_REQUEST et DB_RESPONSE événements.

Évènements

DB_REQUEST
S'exécute sur chaque demande de base de données traitée par l'équipement.
DB_RESPONSE
S'exécute sur chaque réponse de base de données traitée par l'équipement.

Méthodes

commitRecord(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un DB_RESPONSE événement. Enregistrer les validations sur DB_REQUEST les événements ne sont pas pris en charge.

Pour consulter les propriétés par défaut attribuées à l' objet d'enregistrement, consultez le record propriété ci-dessous.

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.

Propriétés

appName: Corde
Le client nom de l'application, qui est extrait uniquement pour les connexions MS SQL.
correlationId: Numéro
ID de corrélation pour les applications DB2. La valeur est null pour les applications autres que DB2.
database: Corde
L'instance de base de données. Dans certains cas, par exemple lorsque les événements de connexion sont chiffrés, le nom de la base de données n'est pas disponible.
encryptionProtocol: Corde
Le protocole avec lequel la transaction est cryptée.
error: Corde
Les messages d'erreur détaillés enregistrés par le système ExtraHop sous forme de chaîne. S'il y a plusieurs erreurs dans une réponse, elles sont concaténées en une seule chaîne.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

errors: Tableau de chaînes
Les messages d'erreur détaillés enregistrés par le système ExtraHop sous forme de tableau. S'il n' y a qu'une seule erreur dans la réponse, l'erreur est renvoyée sous forme de tableau contenant une chaîne.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

isDecrypted: Booléen
La valeur est vraie si le système ExtraHop a déchiffré et analysé la transaction en toute sécurité. L'analyse du trafic déchiffré peut révéler les menaces avancées qui se cachent dans le trafic chiffré.
isEncrypted: Booléen
La valeur est vraie si la transaction est cryptée.
isReqAborted: Booléen
La valeur est true si la connexion est fermée avant que la demande de base de données ne soit terminée.
isRspAborted: Booléen
La valeur est true si la connexion est fermée avant que la réponse de base de données ne soit terminée.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

method: Corde
Méthode de base de données en corrélation avec les méthodes répertoriées sous la métrique de base de données dans le système ExtraHop.
params: Array
Un tableau d'appels de procédure distants (RPC) paramètres uniquement disponibles pour les bases de données Microsoft SQL, PostgreSQL et DB2.

Le tableau contient chacun des paramètres suivants :

name: Corde
Nom facultatif du paramètre RPC fourni.
value: Corde | Numéro
Un champ de texte, de nombre entier ou d'heure et de date. Si la valeur n'est pas un champ de texte, de nombre entier ou d' heure et de date, elle est convertie au format HEX/ASCII.

La valeur du params la propriété est la même lorsqu'on y accède sur l' un ou l'autre DB_REQUEST ou le DB_RESPONSE événement.

procedure: Corde
Nom de la procédure stockée. Correspond aux procédures répertoriées sous les méthodes de base de données dans le système ExtraHop.
processingTime: Numéro
Le temps de traitement du serveur, exprimé en millisecondes (équivalent à rspTimeToFirstByte - reqTimeToLastByte). La valeur est NaN en cas de réponses mal formées ou abandonnées ou si le timing n'est pas valide.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à DB.commitRecord sur un DB_RESPONSE événement.

L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :

  • Nom de l'application
  • Le client est externe
  • Client Zerownd
  • ID de corrélation
  • base de données
  • erreur
  • est réavorté
  • ISRS avorté
  • méthode
  • procédure
  • Le récepteur est externe
  • Taille de la requête
  • ReqTimeToLastByte
  • Taille RSP
  • Temps RSP jusqu'au premier octet
  • RSPTimeToLastByte
  • Délai de traitement
  • L'expéditeur est externe
  • Le serveur est externe
  • Serveur Zerownd
  • déclaration
  • table
  • utilisateur

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

reqBytes: Numéro
Le nombre de L4 octets de demande, à l'exception des en-têtes L4.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

reqL2Bytes: Numéro
Le nombre de L2 octets de demande, y compris les en-têtes L2.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

reqPkts: Numéro
Le nombre de paquets de demandes.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

reqRTO: Numéro
Le numéro de demande délais de retransmission (RTO).

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

reqSize: Numéro
Nombre d'octets de requête L7, à l'exclusion des en-têtes de protocole de base de données.
reqTimeToLastByte: Numéro
Temps écoulé entre le premier octet de la demande et le dernier octet de la demande, exprimé en millisecondes. Retours NaN en cas de demandes mal formées ou abandonnées ou si le délai n'est pas valide.
reqZeroWnd: Numéro
Le nombre de fenêtres nulles dans la demande.
roundTripTime: Numéro
Le temps moyen aller-retour (RTT), exprimé en millisecondes. La valeur est NaN s'il n'y a pas d'échantillons RTT.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspBytes: Numéro
Le nombre de L4 octets de réponse, à l'exclusion de la surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspL2Bytes: Numéro
Le nombre de L2 octets de réponse, y compris les surcharges liées au protocole, telles que les en-têtes.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspPkts: Numéro
Le nombre de paquets de réponse.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspRTO: Numéro
Le nombre de réponses délais de retransmission (RTO).

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspSize: Numéro
Nombre d'octets de réponse L7, à l'exclusion des en-têtes de protocole de base de données.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspTimeToFirstByte: Numéro
Temps écoulé entre le premier octet de la demande et le premier octet de la réponse, exprimé en millisecondes. La valeur est NaN en cas de réponses mal formées ou abandonnées ou si le timing n'est pas valide.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspTimeToLastByte: Numéro
Temps écoulé entre le premier octet de la demande et le dernier octet de la réponse, exprimé en millisecondes. La valeur est NaN en cas de réponses mal formées ou abandonnées ou si le timing n'est pas valide.

Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.

rspZeroWnd: Numéro
Le nombre de fenêtres nulles dans la réponse.
serverVersion: Corde
Version du serveur MS SQL.
statement: Corde
L'instruction SQL complète, qui n'est peut-être pas disponible pour toutes les méthodes de base de données.
table: Corde
Nom de la table de base de données spécifiée dans l'instruction en cours. Les bases de données suivantes sont prises en charge :
  • Sybase
  • Sybase IQ
  • MySQL
  • PostgreSQL
  • IBM Informix
  • MS SQL TDS
  • Oracle TNS
  • DB2

Renvoie un champ vide si la demande ne contient aucun nom de table.

user: Corde
Le nom d'utilisateur, s'il est disponible. Dans certains cas, par exemple lorsque les événements de connexion sont chiffrés, le nom d'utilisateur n'est pas disponible.

DHCP

Le DHCP la classe vous permet de stocker des métriques et d'accéder aux propriétés sur DHCP_REQUEST et DHCP_RESPONSE événements.

Évènements

DHCP_REQUEST
S'exécute sur chaque demande DHCP traitée par l'équipement.
DHCP_RESPONSE
S'exécute sur chaque réponse DHCP traitée par l'équipement.

Méthodes

commitRecord(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un DHCP_REQUEST ou DHCP_RESPONSE événement.

L'événement détermine les propriétés qui sont validées dans l'objet d'enregistrement. Pour consulter les propriétés par défaut validées pour chaque événement, consultez le record propriété ci-dessous.

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.

getOption(optionCode: Numéro ): Objet
Accepte un entier du code d'option DHCP en entrée et renvoie un objet contenant les champs suivants :
code: Numéro
Le code d'option DHCP.
name: Corde
Nom de l'option DHCP.
payload: Numéro | Corde
Le type de charge utile renvoyé sera quel que soit le type de cette option spécifique, comme une adresse IP, un tableau d'adresses IP ou un objet tampon.

Retours null si le code d'option spécifié n'est pas présent dans le message.

Propriétés

chaddr: Corde
Adresse matérielle du client DHCP.
clientReqDelay: Numéro
Le temps écoulé avant le client tente d'acquérir ou de renouveler un bail DHCP, exprimé en secondes.

Accès uniquement sur DHCP_REQUEST événements ; sinon, une erreur se produira.

error: Corde
Le message d'erreur associé au code d'option 56. La valeur est null s'il n'y a pas d'erreur.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

gwAddr: Adresse IP
L'adresse IP par laquelle les routeurs transmettent les messages de demande et de réponse.
htype: Numéro
Le code du type de matériel.
msgType: Corde
Le type de message DHCP. Les types de messages pris en charge sont les suivants :
  • DHCPDISCOVER
  • DHCPOFFER
  • DHCPREQUEST
  • DHCPDECLINE
  • DHCPACK
  • DHCPNAK
  • DHCPRELEASE
  • DHCPINFORM
  • DHCPFORCERENEW
  • DHCPLEASEQUERY
  • DHCPLEASEUNASSIGNED
  • DHCPLEASEUNKNOWN
  • DHCPLEASEACTIVE
  • DHCPBULKLEASEQUERY
  • DHCPLEASEQUERYDONE
offeredAddr: Adresse IP
L'adresse IP que le serveur DHCP propose ou attribue au client.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

options: Tableau d'objets
Un tableau d'objets, chaque objet contenant les champs suivants :
code: Numéro
Le code d'option DHCP.
name: Corde
Nom de l'option DHCP.
payload: Numéro | Corde
Le type de charge utile renvoyé sera quel que soit le type de cette option spécifique, comme une adresse IP, un tableau d'adresses IP ou un objet tampon. Les adresses IP seront analysées dans un tableau, mais si le nombre d'octets n'est pas divisible par 4, elles seront renvoyées sous forme de tampon.
paramReqList: Corde
Liste de nombres séparés par des virgules qui représente les options DHCP demandées au serveur par le client. Pour une liste complète des options DHCP, voir https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml.
processingTime: Numéro
Le temps de traitement, exprimé en millisecondes. La valeur est NaN en cas de réponses mal formées ou abandonnées ou si le timing n'est pas valide.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à DHCP.commitRecord sur l'un ou l'autre DHCP_REQUEST ou DHCP_RESPONSE événement.

L'événement au cours duquel la méthode a été appelée détermine les propriétés que l'objet d'enregistrement par défaut peut contenir, comme indiqué dans le tableau suivant :

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: Numéro
Le nombre de L4 octets de demande, à l'exception des en-têtes L4.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

reqL2Bytes: Numéro
Le nombre de L2 octets de demande, y compris les en-têtes L2.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

reqPkts: Numéro
Le nombre de paquets de demandes.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

rspBytes: Numéro
Le nombre de L4 octets de réponse, à l'exclusion de la surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

rspL2Bytes: Numéro
Le nombre de L2 octets de réponse, y compris la surcharge du protocole, comme les en-têtes.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

rspPkts: Numéro
Le nombre de paquets de réponse.

Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.

txId: Numéro
L'identifiant de transaction.
vendor: Corde
L'identifiant de classe de fournisseur (VCI) qui indique le fournisseur exécuté sur le client ou le serveur.

DICOM

Le DICOM Le cours (Imagerie numérique et DICOM en médecine ) vous permet de stocker des métriques et d'accéder aux propriétés sur DICOM_REQUEST et DICOM_RESPONSE événements.

Évènements

DICOM_REQUEST
S'exécute sur chaque demande DICOM traitée par l'équipement.
DICOM_RESPONSE
S'exécute sur chaque réponse DICOM traitée par l'équipement.

Méthodes

commitRecord(): vide
Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un DICOM_REQUEST ou DICOM_RESPONSE événement.

L'événement détermine les propriétés qui sont validées dans l'objet d'enregistrement. Pour consulter les propriétés par défaut validées pour chaque événement, consultez le record propriété ci-dessous.

Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.

findElement(groupTag: Numéro , elementTag: Numéro ): Tampon
Renvoie une mémoire tampon contenant l'élément de données DICOM spécifié par les numéros de groupe et de balise d'élément transmis.

L'élément de données est représenté par une paire ordonnée unique d' entiers qui représentent les numéros de balise de groupe et d'étiquette d'élément. Par exemple, la paire ordonnée « 0008, 0008 » représente l'élément « type d'image ». UN Registre des éléments de données DICOM et les balises définies sont disponibles sur dicom.nema.org.

groupTag: Numéro
Le premier nombre de la paire ordonnée unique d'entiers qui représente un élément de données spécifique.
elementTag: Numéro
Le deuxième numéro de la paire ordonnée unique ou des entiers qui représentent un élément de données spécifique.

Propriétés

calledAETitle: Corde
Titre de l'entité d'application (AE) de l'équipement ou du programme de destination.
callingAETitle: Corde
Titre de l'entité d'application (AE) de l'équipement ou du programme source.
elements: Array
Ensemble d'éléments de commande et d'éléments de données contenant des valeurs de données de présentation (PDV) constituant un message DICOM.
error: Corde
Le message d'erreur détaillé enregistré par le système ExtraHop.
isReqAborted: Booléen
La valeur est true si la connexion est fermée avant que la demande DICOM ne soit terminée.

Accès uniquement sur DICOM_REQUEST événements ; dans le cas contraire, une erreur se produira.

isRspAborted: Booléen
La valeur est true si la connexion est fermée avant que la réponse DICOM ne soit terminée.

Accès uniquement sur DICOM_RESPONSE événements ; dans le cas contraire, une erreur se produira.

isSubOperation: Booléen
La valeur est true si la métrique de synchronisation sur un L7 le message du protocole n'est pas disponible car la demande ou la réponse principale n' est pas complète.
methods: Tableau de chaînes
Tableau de champs de commande dans le message. Chaque champ de commande spécifie un nom d' opération DIMSE, tel que N-CREATE-RSP.
processingTime: Numéro
Le temps de traitement du serveur, exprimé en millisecondes. La valeur est NaN en cas de réponses mal formées ou abandonnées ou si le timing n' est pas valide.

Accès uniquement sur DICOM_RESPONSE événements ; dans le cas contraire, une erreur se produira.

record: Objet
L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à DICOM.commitRecord sur l'un ou l'autre DICOM_REQUEST ou DICOM_RESPONSE événement.

L'événement au cours duquel la méthode a été appelée détermine les propriétés que l'objet d'enregistrement par défaut peut contenir, comme indiqué dans le tableau suivant :

DICOM_REQUEST DICOM_RESPONSE
calledAETitle calledAETitle
callingAETitle callingAETitle
clientIsExternal clientIsExternal
clientZeroWnd clientZeroWnd
error error
isReqAborted isRspAborted
isSubOperation isSubOperation
method method
receiverIsExternal