Extrayez 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, telles qu'une base de données de gestion de configuration (CMDB). Dans cette rubrique, nous présentons des méthodes permettant d'extraire une liste à la fois à l'aide 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é d'API valide pour apporter des modifications via l' API REST et suivre les procédures ci-dessous. (Voir Génération d'une clé d'API.)
- Pour Reveal (x) 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 avec la commande cURL
La liste des équipements inclut toutes les métadonnées des équipements, 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 équipement.
Remarque : | La procédure suivante n'est pas compatible avec l'API REST Reveal (x) 360. Pour récupérer la liste des équipements depuis Reveal (x) 360, voir Récupérez la liste des équipements depuis Reveal (x) 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 de confiance a été ajouté à votre système ExtraHop. Vous pouvez également ajouter le --insecure possibilité de récupérer la liste des équipements à partir d'un système ExtraHop sans certificat fiable ; toutefois, cette méthode n'est pas sécurisée et n'est pas recommandée. |
Conseil : | Vous pouvez ajouter select(.analysis ==
"LEVEL") option permettant de filtrer les résultats par niveau d'analyse. Par
exemple, la commande suivante limite les résultats pour 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 permettant de 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 permettant de filtrer les résultats en fonction du
champ du nom de l'instance cloud. Par exemple, la commande suivante limite les résultats pour inclure uniquement
les appareils portant 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 Reveal (x) 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 Reveal (x) 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 avec 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 ?