Extraire la liste des équipements via l'API REST
L'API REST ExtraHop vous permet d'extraire la liste des appareils découverts par sonde ou console. En extrayant la liste à l'aide d'un script d'API REST, vous pouvez exporter la liste dans un format lisible par des applications tierces, comme une base de données de gestion des configurations (CMDB). Dans cette rubrique, nous montrons les méthodes permettant d'extraire une liste à la fois par le biais de la commande cURL et d'un script Python.
Before you begin
- Pour les capteurs et les machines virtuelles ECA, vous devez disposer d'une clé API valide pour apporter des modifications via l' API REST et suivre les procédures ci-dessous. (Voir Générer une clé API).
- Pour RevealX 360, vous devez disposer d'informations d'identification d'API REST valides pour apporter des modifications via l' API REST et suivre les procédures ci-dessous. (Voir Création d'informations d'identification pour l'API REST).
Récupérez la liste des équipements à l'aide de la commande cURL
La liste des appareils inclut toutes les métadonnées de l'équipement, telles que les adresses MAC et les identifiants des appareils. Cependant, vous pouvez filtrer la liste des appareils à l'aide d'un analyseur JSON pour extraire les informations spécifiques que vous souhaitez exporter. Dans cet exemple, la liste des équipements est récupérée puis filtrée avec l'analyseur jq pour extraire uniquement le nom d'affichage de chaque appareil.
Remarque : | La procédure suivante n'est pas compatible avec l'API REST RevealX 360. Pour récupérer la liste des équipements depuis RevealX 360, voir Récupérez la liste des équipements depuis RevealX 360 à l'aide de la commande cURL. |
Before you begin
- L'outil cURL doit être installé sur votre machine.
- L'analyseur jq doit être installé sur votre machine. Pour plus d'informations, voir https://stedolan.github.io/jq/.
curl -s -X POST "https://HOSTNAME/api/v1/devices/search" --header "accept: application/json" --header "Authorization: ExtraHop apikey=YOUR_KEY" --header "Content-Type: application/json" -d "{ \"active_from\": 1, \"active_until\": 0, \"limit\": MAX_DEVICES}" | jq -r '.[] | .display_name'
Remarque : | Si la commande ne renvoie aucun résultat, assurez-vous que un certificat fiable a été ajouté à votre système ExtraHop. Vous pouvez également ajouter --insecure option permettant de récupérer la liste des équipements à partir d'un système ExtraHop sans certificat fiable ; cependant, cette méthode n'est pas sécurisée et n'est pas recommandée. |
Conseil : | Vous pouvez ajouter select(.analysis ==
"LEVEL") option pour filtrer les résultats par niveau d'analyse. Par
exemple, la commande suivante limite les résultats afin d'inclure uniquement
les appareils sélectionnés pour une
analyse avancée :curl -s -X POST "https://HOSTNAME/api/v1/devices/search" --header "accept: application/json" --header "Authorization: ExtraHop apikey=YOUR_KEY" --header "Content-Type: application/json" -d "{ \"active_from\": 1, \"active_until\": 0, \"limit\": 1000000000}" | jq -r '.[] | select(.analysis == "advanced") | .display_name' |
Conseil : | Vous pouvez ajouter select(.critical ==
BOOLEAN) option pour filtrer les résultats en fonction du champ critique. Par
exemple, la commande suivante limite les résultats pour inclure uniquement les appareils
identifiés comme critiques par le
système ExtraHop :curl -s -X POST "https://HOSTNAME/api/v1/devices/search" --header "accept: application/json" --header "Authorization: ExtraHop apikey=YOUR_KEY" --header "Content-Type: application/json" -d "{ \"active_from\": 1, \"active_until\": 0, \"limit\": 1000000000}" | jq -r '.[] | select(.critical == true) | .display_name' |
Conseil : | Vous pouvez ajouter select(.cloud_instance_name !=
null) option pour filtrer les résultats en fonction du
champ de nom de l'instance cloud. Par exemple, la commande suivante limite les résultats pour inclure uniquement les
appareils dotés d'un
nom d'instance cloud :curl -s -X POST "https://HOSTNAME/api/v1/devices/search" --header "accept: application/json" --header "Authorization: ExtraHop apikey=YOUR_KEY" --header "Content-Type: application/json" -d "{ \"active_from\": 1, \"active_until\": 0, \"limit\": 1000000000}" | jq -r '.[] | select(.cloud_instance_name != null) | .cloud_instance_name' |
Récupérez la liste des équipements depuis RevealX 360 à l'aide de la commande cURL
La liste des appareils inclut toutes les métadonnées de l'équipement, telles que les adresses MAC et les identifiants des appareils. Cependant, vous pouvez filtrer la liste des appareils à l'aide d'un analyseur JSON pour extraire les informations spécifiques que vous souhaitez exporter. Dans cet exemple, la liste des équipements est récupérée puis filtrée avec l'analyseur jq pour extraire uniquement le nom d'affichage de chaque appareil.
Remarque : | La procédure suivante est uniquement compatible avec l'API REST RevealX 360. Pour récupérer la liste des équipements à partir des capteurs et des machines virtuelles ECA, voir Récupérez la liste des équipements à l'aide de la commande cURL. |
Before you begin
- L'outil cURL doit être installé sur votre machine.
- L'analyseur jq doit être installé sur votre machine. Pour plus d'informations, voir https://stedolan.github.io/jq/.
Nous vous remercions pour vos commentaires. Pouvons-nous vous contacter pour vous poser des questions complémentaires ?