Exemples de requêtes AQL

Utilisez les requêtes d'Ariel Query Language (AQL) pour extraire des données de la base de données Ariel en fonction de critères spécifiques.

Utilisez la syntaxe de requête suivante et respectez-vous l'ordre des clauses lorsque vous générez une requête AQL :
[SELECT *, column_name, column_name]
[FROM table_name]
[WHERE search clauses]
[GROUP BY column_reference*]
[HAVING clause]
[ORDER BY column_reference*]
[LIMIT numeric_value] 
[TIMEFRAME]
Remarque: Lorsque vous utilisez une clause GROUP BY ou ORDER BY pour trier des informations, vous ne pouvez référencer column_names qu'à partir de votre instruction SELECT existante.
Remarque: Par défaut, si la valeur TIMEFRAME n'est pas spécifiée, la requête s'exécute sur les cinq dernières minutes des données Ariel.
N'oubliez pas d'utiliser des guillemets simples pour spécifier des valeurs littérales ou des variables et utilisez des guillemets pour les noms de colonne contenant des espaces ou des caractères non-ASCII :
Guillemets simples
Utilisez des guillemets simples lorsque vous référencez le début et la fin d'une chaîne, comme illustré dans les exemples suivants :
username LIKE '%User%'
sourceCIDR= '192.0.2.0'
TEXT SEARCH = 'VPN Authenticated user'
QIDNAME(qid) AS 'Event Name'
Guillemets doubles
Utilisez des guillemets lorsque les noms de colonne contiennent des espaces ou des caractères non-ASCII, comme illustré dans les exemples suivants :
Noms de propriété personnalisés avec des espaces, tels que « ID de sécurité de compte ».
Valeurs ayant des caractères non-ASCII.

Requêtes AQL simples

Tableau 1. Requêtes AQL simples
Commandes AQL de base Commentaires
SELECT * FROM events LAST 10 MINUTES
Renvoie toutes les zones de la table des événements qui ont été envoyées au cours des 10 dernières minutes.
SELECT sourceip,destinationip FROM events 
LAST 24 HOURS
Renvoie sourceip et destinationip à partir de la table des événements qui ont été envoyés au cours des dernières 24 heures.
SELECT * FROM events START '2017 01 01 9:00:00' 
STOP '2017 01 01 10:20:00'
Renvoie tous les champs de la table des événements pendant cet intervalle de temps.
SELECT * FROM events limit 5 LAST 24 HOURS
Renvoie toutes les zones de la table des événements au cours des dernières 24 heures, avec une sortie limitée à cinq résultats.
SELECT * FROM events ORDER BY magnitude DESC 
LAST 24 HOURS
Renvoie toutes les zones de la table des événements envoyés au cours des dernières 24 heures, en triant le résultat de la plus grande à la plus petite magnitude.
SELECT * FROM events WHERE magnitude >= 3 
LAST 24 HOURS
Renvoie toutes les zones de la table des événements dont l'ordre de grandeur est inférieur à trois depuis les dernières 24 heures.
SELECT * FROM events WHERE sourceip = '192.0.2.0' 
AND destinationip = '198.51.100.0' START '2017 01 01 
9:00:00' STOP '2017 01 01 10:20:00'
Renvoie toutes les zones de la table des événements qui ont l'adresse IP source et la adresse IP de destination spécifiées dans la période spécifiée.
SELECT * FROM events WHERE INCIDR('192.0.2.0/24',
sourceip)
Renvoie toutes les zones de la table des événements où l'adresse IP source se trouve dans la plage d'adresses IP CIDR spécifiée.
SELECT * FROM events WHERE username LIKE '%roul%'
Renvoie toutes les zones de la table des événements où le nom d'utilisateur contient l'exemple de chaîne. Les symboles de pourcentage (%) indiquent que le nom d'utilisateur peut correspondre à une chaîne de zéro ou plusieurs caractères.
SELECT * FROM events WHERE username ILIKE '%ROUL%'
Renvoie toutes les zones de la table des événements où le nom d'utilisateur contient l'exemple de chaîne, et les résultats sont insensibles à la casse. Les symboles de pourcentage (%) indiquent que le nom d'utilisateur peut correspondre à une chaîne de zéro ou plusieurs caractères.
SELECT sourceip,category,credibility FROM events 
WHERE (severity > 3 AND category = 5018)OR 
(severity < 3 AND credibility > 8)
Renvoie les zones sourceip, categoryet credibility à partir de la table des événements avec des niveaux de gravité spécifiques, une catégorie spécifique et un niveau de crédibilité spécifique. La clause AND permet de disposer de plusieurs types de résultats que vous souhaitez obtenir.
SELECT * FROM events WHERE TEXT SEARCH 'firewall'
Renvoie toutes les zones de la table des événements qui ont le texte spécifié dans la sortie.
SELECT * FROM events WHERE username ISNOT NULL
Renvoie toutes les zones de la table des événements où la valeur username n'est pas NULL.