En este artículo se enumeran las API de administración de inventarios de dispositivos compatibles con los sensores de OT de Defender para IoT.
Use esta API para solicitar una lista de todas las conexiones de dispositivos.
URI:/api/v1/devices/connections
GET
Parámetros de consulta
Defina cualquiera de los parámetros de consulta siguientes para filtrar los resultados devueltos. Si no establece los parámetros de la consulta, se devuelven todas las conexiones del dispositivo.
Nombre |
Descripción |
Ejemplo |
Obligatorio u opcional |
discoveredBefore |
Numérico. Filtre los resultados que se detectaron antes de una hora determinada, donde la hora especificada se define en milisegundos desde la hora de época y en la zona horaria UTC. |
/api/v1/devices/2/connections?discoveredBefore=<epoch> |
Opcional |
discoveredAfter |
Numérico. Filtre los resultados que se detectaron después de una hora determinada, donde la hora especificada se define en milisegundos desde la hora de época y en la zona horaria UTC. |
/api/v1/devices/2/connections?discoveredAfter=<epoch> |
Opcional |
lastActiveInMinutes |
Numérico. Filtre los resultados por un período de tiempo determinado durante el cual las conexiones estaban activas. Se define hacia atrás, en minutos, desde la hora actual. |
/api/v1/devices/2/connections?lastActiveInMinutes=20 |
Opcional |
Tipo de respuesta: JSON
Matriz de objetos JSON que representan conexiones de dispositivo o el siguiente mensaje de error:
Message |
Descripción |
Error: error |
Error en la operación. |
Campos de respuesta correctos
Nombre |
Tipo |
Que admite valores NULL / No admite valores NULL |
Lista de valores |
firstDeviceId |
Numeric |
No acepta valores NULL |
- |
secondDeviceId |
Numeric |
No acepta valores NULL |
- |
lastSeen |
Numeric |
No acepta valores NULL |
Tiempo (hora UTC) |
discovered |
Numeric |
No acepta valores NULL |
Tiempo (hora UTC) |
ports |
Matriz de números |
Nullable |
- |
protocols |
Matriz JSON |
Nullable |
Campo del protocolo |
Campos del protocolo
Nombre |
Tipo |
Que admite valores NULL / No admite valores NULL |
name |
String |
No acepta valores NULL |
commands |
Matriz de cadena |
Nullable |
Ejemplo de respuesta
[
{
"firstDeviceId": 171,
"secondDeviceId": 22,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "modbus",
commands: [
"Read Coils"
]
},
{
name: "ams",
commands: [
"AMS Write"
]
},
{
name: "http",
commands: [
]
}
]
},
{
"firstDeviceId": 171,
"secondDeviceId": 23,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "s7comm",
commands: [
"Download block",
"Upload"
]
}
]
}
]
Tipo: GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/devices/connections
Ejemplos:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/connections
Use esta API para solicitar una lista de todas las conexiones por cada dispositivo.
URI:/api/v1/devices/<deviceID>/connections
GET
Parámetro de ruta de acceso
Nombre |
Descripción |
Ejemplo |
Obligatorio u opcional |
deviceId |
Obtenga conexiones para el dispositivo determinado. |
/api/v1/devices/<deviceId>/connections |
Obligatorio |
Parámetros de consulta
Nombre |
Descripción |
Ejemplo |
Obligatorio u opcional |
discoveredBefore |
Numérico. Filtre los resultados que se detectaron antes de una hora determinada, donde la hora especificada se define en milisegundos desde la hora de época y en la zona horaria UTC. |
/api/v1/devices/2/connections?discoveredBefore=<epoch> |
Opcional |
discoveredAfter |
Numérico. Filtre los resultados que se detectaron después de una hora determinada, donde la hora especificada se define en milisegundos desde la hora de época y en la zona horaria UTC. |
/api/v1/devices/2/connections?discoveredAfter=<epoch> |
Opcional |
lastActiveInMinutes |
Numérico. Filtre los resultados por un período de tiempo determinado durante el cual las conexiones estaban activas. Se define hacia atrás, en minutos, desde la hora actual. |
/api/v1/devices/2/connections?lastActiveInMinutes=20 |
Opcional |
Tipo de respuesta: JSON
Matriz de objetos JSON que representan conexiones de dispositivo o el siguiente mensaje de error:
Message |
Descripción |
Error: error |
Error en la operación. |
Campos de respuesta correctos
Nombre |
Tipo |
Que admite valores NULL / No admite valores NULL |
Lista de valores |
firstDeviceId |
Numeric |
No acepta valores NULL |
- |
secondDeviceId |
Numeric |
No acepta valores NULL |
- |
lastSeen |
Numeric |
No acepta valores NULL |
Tiempo (hora UTC) |
discovered |
Numeric |
No acepta valores NULL |
Tiempo (hora UTC) |
ports |
Matriz de números |
Nullable |
- |
protocols |
Matriz JSON |
Nullable |
Campo del protocolo |
Campos del protocolo
Nombre |
Tipo |
Que admite valores NULL / No admite valores NULL |
name |
String |
No acepta valores NULL |
commands |
Matriz de cadena |
Nullable |
Ejemplo de respuesta
[
{
"firstDeviceId": 171,
"secondDeviceId": 22,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "modbus",
commands: [
"Read Coils"
]
},
{
name: "ams",
commands: [
"AMS Write"
]
},
{
name: "http",
commands: [
]
}
]
},
{
"firstDeviceId": 171,
"secondDeviceId": 23,
"lastSeen": 1511281457933,
"discovered": 1511872830000,
"ports": [
502
],
"protocols": [
{
name: "s7comm",
commands: [
"Download block",
"Upload"
]
}
]
}
]
Tipo: GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<IP_ADDRESS>/api/v1/devices/<deviceId>/connections?lastActiveInMinutes=&discoveredBefore=&discoveredAfter=
Ejemplos:
Con los parámetros de consulta especificados:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" 'https://127.0.0.1/api/v1/devices/2/connections?lastActiveInMinutes=20&discoveredBefore=1594550986000&discoveredAfter=1594550986000
Use esta API para solicitar una lista de todos los CVE conocidos que se detectaron en los dispositivos de la red, ordenados por puntuación de CVE descendente.
URI:/api/v1/devices/cves
GET
Ejemplo: /api/v1/devices/cves
Defina cualquiera de los parámetros de consulta siguientes para filtrar los resultados devueltos.
Nombre |
Descripción |
Ejemplo |
Obligatorio u opcional |
top |
Numérico. Determine cuántos CVE de puntuación superior se deben obtener para cada dirección IP del dispositivo. |
/api/v1/devices/cves?top=50
/api/v1/devices/<ipAddress>/cves?top=50 |
Opcional. Valor predeterminado = 100 |
Tipo: JSON
Matriz JSON de objetos CVE de dispositivo o el siguiente mensaje de error:
Message |
Descripción |
Error: error |
Error en la operación. |
Campos de respuesta correctos
Nombre |
Tipo |
Que admite valores NULL / No admite valores NULL |
Lista de valores |
cveId |
String |
No acepta valores NULL |
Identificador canónico estándar del sector para el CVE específico. |
ipAddress |
String |
No acepta valores NULL |
Direcciones IP |
score |
String |
No acepta valores NULL |
Puntuación CVE, entre 0,0 y 10,0 |
attackVector |
String |
No acepta valores NULL |
Network , Adjacent Network , Local o Physical |
description |
String |
No acepta valores NULL |
- |
Ejemplo de respuesta
[
{
"cveId": "CVE-2007-0099",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Race condition in the msxml3 module in Microsoft XML Core
Services 3.0, as used in Internet Explorer 6 and other
applications, allows remote attackers to execute arbitrary
code or cause a denial of service (application crash) via many
nested tags in an XML document in an IFRAME, when synchronous
document rendering is frequently disrupted with asynchronous
events, as demonstrated using a JavaScript timer, which can
trigger NULL pointer dereferences or memory corruption, aka
\"MSXML Memory Corruption Vulnerability.\""
},
{
"cveId": "CVE-2009-1547",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Unspecified vulnerability in Microsoft Internet Explorer 5.01
SP4, 6, 6 SP1, and 7 allows remote attackers to execute
arbitrary code via a crafted data stream header that triggers
memory corruption, aka \"Data Stream Header Corruption
Vulnerability.\""
}
]
Tipo: GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/devices/cves
Ejemplos:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/cves
Use esta API para solicitar una lista de todos los CVE conocidos que se detectaron en los dispositivos de la red para una dirección IP específica.
URI:/api/v1/devices/cves
GET
Ejemplo: /api/v1/devices/cves
Parámetro de ruta de acceso
Nombre |
Descripción |
Ejemplo |
Obligatorio u opcional |
ipAddress |
Obtiene los CVE para la dirección IP especificada. |
/api/v1/devices/<ipAddress>/cves |
Obligatorio |
Defina los parámetros de consulta siguientes para filtrar los resultados devueltos.
Nombre |
Descripción |
Ejemplo |
Obligatorio u opcional |
top |
Numérico. Determine cuántos CVE de puntuación superior se deben obtener para cada dirección IP del dispositivo. |
/api/v1/devices/cves?top=50
/api/v1/devices/<ipAddress>/cves?top=50 |
Opcional. Valor predeterminado = 100 |
Tipo: JSON
Matriz JSON de objetos CVE de dispositivo o el siguiente mensaje de error:
Message |
Descripción |
Error: error |
Error en la operación. |
Campos de respuesta correctos
Nombre |
Tipo |
Que admite valores NULL / No admite valores NULL |
Lista de valores |
cveId |
String |
No acepta valores NULL |
Identificador canónico estándar del sector para el CVE específico. |
ipAddress |
String |
No acepta valores NULL |
Direcciones IP |
score |
String |
No acepta valores NULL |
Puntuación CVE, entre 0,0 y 10,0 |
attackVector |
String |
No acepta valores NULL |
Network , Adjacent Network , Local o Physical |
description |
String |
No acepta valores NULL |
- |
Ejemplo de respuesta
[
{
"cveId": "CVE-2007-0099",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Race condition in the msxml3 module in Microsoft XML Core
Services 3.0, as used in Internet Explorer 6 and other
applications, allows remote attackers to execute arbitrary
code or cause a denial of service (application crash) via many
nested tags in an XML document in an IFRAME, when synchronous
document rendering is frequently disrupted with asynchronous
events, as demonstrated using a JavaScript timer, which can
trigger NULL pointer dereferences or memory corruption, aka
\"MSXML Memory Corruption Vulnerability.\""
},
{
"cveId": "CVE-2009-1547",
"score": "9.3",
"ipAddress": "10.35.1.51",
"attackVector": "NETWORK",
"description": "Unspecified vulnerability in Microsoft Internet Explorer 5.01
SP4, 6, 6 SP1, and 7 allows remote attackers to execute
arbitrary code via a crafted data stream header that triggers
memory corruption, aka \"Data Stream Header Corruption
Vulnerability.\""
}
]
Tipo: GET
API:
curl -k -H "Authorization: <AUTH_TOKEN>" https://<IP_ADDRESS>/api/v1/devices/<deviceIpAddress>/cves?top=
Ejemplos:
Con los parámetros de consulta especificados:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/10.10.10.15/cves?top=50
Use esta API para solicitar una lista de todos los dispositivos detectados por este sensor.
URI:api/v1/devices/
GET
Parámetro de consulta
Defina los parámetros de consulta siguientes para filtrar los resultados devueltos. Si no establece los parámetros de la consulta, se devuelven todas las conexiones del dispositivo.
Nombre |
Descripción |
Ejemplo |
Obligatorio u opcional |
autorizado |
Booleano:
- true : filtre solo por datos en dispositivos autorizados. - false : filtre solo por datos en dispositivos no autorizados. |
/api/v1/devices/ |
Opcional |
Tipo: GET
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<IP_ADDRESS>/api/v1/devices/'
Pasos siguientes
Para obtener más información, consulte la información general de referencia de API de Defender para IoT.