Logische und Vergleichsoperatoren von AQL

Operatoren werden in AQL-Anweisungen verwendet, um die Gleichheit oder Differenz zwischen Werten zu bestimmen. Durch die Verwendung von Operatoren in der Klausel WHERE einer AQL-Anweisung werden die Ergebnisse anhand der Ergebnisse gefiltert, die den Bedingungen in der Klausel WHERE entsprechen.

In der folgenden Tabelle sind die unterstützten logischen Operatoren und Vergleichsoperatoren aufgelistet.
Tabelle 1. Logische Operatoren und Vergleichsoperatoren
Bediener Beschreibung Beispiel
* Multipliziert zwei Werte und gibt das Ergebnis zurück.
SELECT *
FROM flows 
WHERE sourceBytes * 1024 < 1 
= Der Gleichheitsoperator vergleicht zwei Werte und gibt 'true' zurück, wenn sie gleich sind.
SELECT * 
FROM EVENTS
WHERE sourceIP = destinationIP 
!= Vergleicht zwei Werte und gibt 'true' zurück, wenn sie ungleich sind.
SELECT *
FROM events
WHERE sourceIP
!= destinationip
< AND <= Vergleicht zwei Werte und gibt 'true' zurück, wenn der Wert auf der linken Seite kleiner-gleich dem Wert auf der rechten Seite ist.
SELECT *
FROM flows 
WHERE sourceBytes < 64 
AND
destinationBytes <= 64  
> AND >= Vergleicht zwei Werte und gibt 'true' zurück, wenn der Wert auf der linken Seite größer-gleich dem Wert auf der rechten Seite ist.
SELECT * 
FROM flows 
WHERE sourceBytes > 64 
AND
destinationBytes >= 64
/ Dividiert zwei Werte und gibt das Ergebnis zurück.
SELECT * 
FROM flows 
WHERE sourceBytes / 8 > 64 
+ Addiert zwei Werte und gibt das Ergebnis zurück.
SELECT * 
FROM flows 
WHERE sourceBytes + 
destinationBytes < 64 
- Subtrahiert einen Wert von einem anderen und gibt das Ergebnis zurück
SELECT * 
FROM flows 
WHERE sourceBytes - 
destinationBytes > 0
^ Nimmt einen Wert und erhöht ihn auf die angegebene Potenz und gibt das Ergebnis zurück.
SELECT * 
FROM flows 
WHERE sourceBytes ^ 2 < 256
% Nimmt das Modulo eines Werts und gibt das Ergebnis zurück.
SELECT * 
FROM flows 
WHERE sourceBytes % 8 == 7
AND Nimmt die linke und rechte Seite einer Anweisung und gibt 'true' zurück, wenn beide wahr sind.
SELECT *
FROM events 
WHERE (sourceIP = destinationIP)
AND (sourcePort = destinationPort)
BETWEEN (X,Y) Nimmt eine linke Seite und zwei Werte entgegen und gibt 'true' zurück, wenn die linke Seite zwischen den beiden Werten liegt.
SELECT * 
FROM events 
WHERE magnitude
BETWEEN 1 AND 5 
COLLATE Parameter für die Sortierung, nach dem ein BCP47 -Sprachentag sortiert werden kann.
SELECT * 
FROM EVENTS ORDER BY
sourceIP DESC COLLATE 'de-CH' 
IN Gibt mehrere Werte in einer WHERE-Klausel an Der Operator IN ist eine Kurzform für mehrere OR-Bedingungen.
SELECT *
FROM EVENTS
WHERE SourceIP IN ('192.0.2.1', '::1', '198.51.100.0')
INTO Erstellt einen benannten Cursor, der Ergebnisse enthält, die zu einem anderen Zeitpunkt abgefragt werden können
SELECT * FROM EVENTS INTO
 'MyCursor' WHERE....
NOT Nimmt eine Anweisung ein und gibt 'true' zurück, wenn die Anweisung als ' false' ausgewertet wird
SELECT * FROM EVENTS 
WHERE NOT 
(sourceIP = destinationIP) 
ILIKE Trifft zu, wenn die übergebene Zeichenfolge dem übergebenen Wert entspricht und die Groß-/Kleinschreibung nicht beachtet werden muss. Verwenden Sie % als Platzhalterzeichen.
SELECT * 
FROM events WHERE userName 
ILIKE '%bob%' 
IMATCHES Trifft zu, wenn die Zeichenfolge dem angegebenen regulären Ausdruck entspricht und die Groß-/Kleinschreibung nicht beachtet werden muss.
SELECT * 
FROM events 
WHERE userName
IMATCHES '^.bob.$' 
LIMIT Begrenzt die Anzahl der Ergebnisse auf die angegebene Anzahl.
SELECT * 
FROM events LIMIT 100 
START '2015-10-28 10:00' 
STOP '2015-10-28 11:00'
Hinweis: Fügen Sie die Klausel LIMIT vor einer Klausel START und STOP ein.
LIKE Trifft zu, wenn die übergebene Zeichenfolge LIKE ist, aber die Groß-/Kleinschreibung beachtet werden muss. Verwenden Sie % als Platzhalterzeichen.
SELECT * 
FROM events WHERE userName 
LIKE '%bob%' 
MATCHES Trifft zu, wenn die Zeichenfolge dem angegebenen regulären Ausdruck entspricht.
SELECT * 
FROM events 
WHERE userName MATCHES
'^.bob.$' 
NOT NULL Erhält einen Wert und gibt 'true' zurück, wenn der Wert ungleich null ist.
SELECT *
FROM events 
WHERE userName 
IS NOT NULL
OR Nimmt die linke Seite einer Anweisung und die rechte Seite einer Anweisung und gibt 'true' zurück, wenn eine der beiden Seiten wahr ist.
SELECT *
FROM events 
WHERE (sourceIP = destinationIP)
OR (sourcePort = destinationPort)
TEXT SEARCH

Volltextsuche nach dem übergebenen Wert.

TEXT SEARCH ist mit AND -Operatoren gültig. Sie können TEXT SEARCH nicht mit OR oder anderen Operatoren verwenden; andernfalls erhalten Sie einen Syntaxfehler.

Platzieren Sie TEXT SEARCH an der ersten Stelle der WHERE-Klausel.

Sie können auch Volltextsuchen mithilfe des Schnellfilters in der QRadar® -Benutzerschnittstelle ausführen. Informationen zu den Schnellfilterfunktionen finden Sie im IBM® QRadar -Benutzerhandbuch.

SELECT * 
FROM events 
WHERE TEXT SEARCH 'firewall'
AND sourceip='192.168.1.1' 

SELECT sourceip,url 
FROM events 
WHERE TEXT SEARCH 
'download.cdn.mozilla.net' 
AND sourceip='192.168.1.1' 
START '2015-01-30 16:10:12' 
STOP '2015-02-22 17:10:22'

Beispiele für logische Operatoren und Vergleichsoperatoren

  • Geben Sie die folgende Abfrage ein, um Ereignisse zu suchen, die nicht analysiert wurden:
    SELECT * FROM events 
    WHERE payload = 'false'
  • Um Ereignisse zu finden, die einen Angriff zurückgeben und eine bestimmte Quellen-IP-Adresse haben, geben Sie die folgende Abfrage ein:
    SELECT * FROM events 
    WHERE sourceIP = '192.0.2.0' 
    AND
    hasOffense = 'true'
  • Geben Sie die folgende Abfrage ein, um Ereignisse zu suchen, die den Text "firewall" enthalten:
    SELECT QIDNAME(qid) 
    AS EventName, 
    * FROM events 
    WHERE TEXT SEARCH 'firewall'