Questo articolo elenca le API di gestione dell'inventario dei dispositivi supportate per i sensori OT di Defender per IoT.
Usare questa API per richiedere un elenco di tutte le connessioni dei dispositivi.
URI: /api/v1/devices/connections
GET
Parametri di query
Definire uno dei parametri di query seguenti per filtrare i risultati restituiti. Se non si impostano parametri di query, vengono restituite tutte le connessioni del dispositivo.
| Nome |
Descrizione |
Esempio |
Obbligatorio/Facoltativo |
|
discoveredBefore |
Numerico. Filtrare i risultati rilevati prima di un determinato orario, in cui l'ora specificata è definita in millisecondi dall'ora epoche e nel fuso orario UTC. |
/api/v1/devices/2/connections?discoveredBefore=<epoch> |
Facoltativo |
|
discoveredAfter |
Numerico. Filtrare i risultati rilevati dopo un determinato tempo, in cui l'ora specificata è definita in millisecondi dall'ora epoche e nel fuso orario UTC. |
/api/v1/devices/2/connections?discoveredAfter=<epoch> |
Facoltativo |
|
lastActiveInMinutes |
Numerico. Filtrare i risultati in base a un determinato intervallo di tempo durante il quale le connessioni erano attive. Definito all'indietro, in minuti, dall'ora corrente. |
/api/v1/devices/2/connections?lastActiveInMinutes=20 |
Facoltativo |
Tipo di risposta: JSON
Matrice di oggetti JSON che rappresentano le connessioni del dispositivo o il messaggio di errore seguente:
| Messaggio |
Descrizione |
|
Errore: errore |
Operazione non riuscita |
Campi di risposta esito positivo
| Nome |
Tipo |
Nullable/Not Nullable |
Elenco di valori |
|
firstDeviceId |
Numerico |
Non nullable |
- |
|
secondDeviceId |
Numerico |
Non nullable |
- |
|
lastSeen |
Numerico |
Non nullable |
Epoch (UTC) |
|
Scoperto |
Numerico |
Non nullable |
Epoch (UTC) |
|
porte |
Matrice di numeri |
Nullable |
- |
|
Protocolli |
Matrice JSON |
Nullable |
Campo Protocollo |
Campi del protocollo
| Nome |
Tipo |
Nullable/Not Nullable |
|
Nome |
Stringa |
Non nullable |
|
Comandi |
Matrice a stringa |
Nullable |
Esempio di risposta
[
{
"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
Esempi:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/connections
Usare questa API per richiedere un elenco di tutte le connessioni per dispositivo.
URI: /api/v1/devices/<deviceID>/connections
GET
Parametro path
| Nome |
Descrizione |
Esempio |
Obbligatorio/Facoltativo |
|
Deviceid |
Ottenere le connessioni per il dispositivo specificato. |
/api/v1/devices/<deviceId>/connections |
Obbligatorio |
Parametri di query
| Nome |
Descrizione |
Esempio |
Obbligatorio/Facoltativo |
|
discoveredBefore |
Numerico. Filtrare i risultati rilevati prima di un determinato orario, in cui l'ora specificata è definita in millisecondi dall'ora epoche e nel fuso orario UTC. |
/api/v1/devices/2/connections?discoveredBefore=<epoch> |
Facoltativo |
|
discoveredAfter |
Numerico. Filtrare i risultati rilevati dopo un determinato tempo, in cui l'ora specificata è definita in millisecondi dall'ora epoche e nel fuso orario UTC. |
/api/v1/devices/2/connections?discoveredAfter=<epoch> |
Facoltativo |
|
lastActiveInMinutes |
Numerico. Filtrare i risultati in base a un determinato intervallo di tempo durante il quale le connessioni erano attive. Definito all'indietro, in minuti, dall'ora corrente. |
/api/v1/devices/2/connections?lastActiveInMinutes=20 |
Facoltativo |
Tipo di risposta: JSON
Matrice di oggetti JSON che rappresentano le connessioni del dispositivo o il messaggio di errore seguente:
| Messaggio |
Descrizione |
|
Errore: errore |
Operazione non riuscita |
Campi di risposta esito positivo
| Nome |
Tipo |
Nullable/Not Nullable |
Elenco di valori |
|
firstDeviceId |
Numerico |
Non nullable |
- |
|
secondDeviceId |
Numerico |
Non nullable |
- |
|
lastSeen |
Numerico |
Non nullable |
Epoch (UTC) |
|
Scoperto |
Numerico |
Non nullable |
Epoch (UTC) |
|
porte |
Matrice di numeri |
Nullable |
- |
|
Protocolli |
Matrice JSON |
Nullable |
Campo Protocollo |
Campi del protocollo
| Nome |
Tipo |
Nullable/Not Nullable |
|
Nome |
Stringa |
Non nullable |
|
Comandi |
Matrice a stringa |
Nullable |
Esempio di risposta
[
{
"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=
Esempi:
Con i parametri di query specificati:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" 'https://127.0.0.1/api/v1/devices/2/connections?lastActiveInMinutes=20&discoveredBefore=1594550986000&discoveredAfter=1594550986000
Usare questa API per richiedere un elenco di tutti i cve noti individuati nei dispositivi in rete, ordinati in base al punteggio CVE decrescente.
URI: /api/v1/devices/cves
GET
Esempio: /api/v1/devices/cves
Definire uno dei parametri di query seguenti per filtrare i risultati restituiti.
| Nome |
Descrizione |
Esempio |
Obbligatorio/Facoltativo |
|
In alto |
Numerico. Determinare quanti CVE con punteggio superiore ottenere per ogni indirizzo IP del dispositivo. |
/api/v1/devices/cves?top=50
/api/v1/devices/<ipAddress>/cves?top=50 |
Facoltativo. Valore predefinito = 100 |
Tipo: JSON
Matrice JSON di oggetti CVE del dispositivo o il messaggio di errore seguente:
| Messaggio |
Descrizione |
|
Errore: errore |
Operazione non riuscita |
Campi di risposta esito positivo
| Nome |
Tipo |
Nullable/Not Nullable |
Elenco di valori |
|
cveId |
Stringa |
Non nullable |
ID standard di settore canonico per l'oggetto CVE specificato. |
|
Ipaddress |
Stringa |
Non nullable |
Indirizzi IP |
|
Punteggio |
Stringa |
Non nullable |
Punteggio CVE compreso tra 0,0 e 10,0 |
|
attackVector |
Stringa |
Non nullable |
Network, Adjacent Network, Local, o Physical |
|
description |
Stringa |
Non nullable |
- |
Esempio di risposta
[
{
"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
Esempi:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/cves
Usare questa API per richiedere un elenco di tutti i cve noti individuati nei dispositivi in rete per un indirizzo IP specifico.
URI: /api/v1/devices/cves
GET
Esempio: /api/v1/devices/cves
Parametro path
| Nome |
Descrizione |
Esempio |
Obbligatorio/Facoltativo |
|
Ipaddress |
Ottenere cve per l'indirizzo IP specificato. |
/api/v1/devices/<ipAddress>/cves |
Obbligatorio |
Definire il parametro di query seguente per filtrare i risultati restituiti.
| Nome |
Descrizione |
Esempio |
Obbligatorio/Facoltativo |
|
In alto |
Numerico. Determinare quanti CVE con punteggio superiore ottenere per ogni indirizzo IP del dispositivo. |
/api/v1/devices/cves?top=50
/api/v1/devices/<ipAddress>/cves?top=50 |
Facoltativo. Valore predefinito = 100 |
Tipo: JSON
Matrice JSON di oggetti CVE del dispositivo o il messaggio di errore seguente:
| Messaggio |
Descrizione |
|
Errore: errore |
Operazione non riuscita |
Campi di risposta esito positivo
| Nome |
Tipo |
Nullable/Not Nullable |
Elenco di valori |
|
cveId |
Stringa |
Non nullable |
ID standard di settore canonico per l'oggetto CVE specificato. |
|
Ipaddress |
Stringa |
Non nullable |
Indirizzi IP |
|
Punteggio |
Stringa |
Non nullable |
Punteggio CVE compreso tra 0,0 e 10,0 |
|
attackVector |
Stringa |
Non nullable |
Network, Adjacent Network, Local, o Physical |
|
description |
Stringa |
Non nullable |
- |
Esempio di risposta
[
{
"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=
Esempi:
Con i parametri di query specificati:
curl -k -H "Authorization: 1234b734a9244d54ab8d40aedddcabcd" https://127.0.0.1/api/v1/devices/10.10.10.15/cves?top=50
Usare questa API per richiedere un elenco di tutti i dispositivi rilevati da questo sensore.
URI: api/v1/devices/
GET
Parametro di query
Definire il parametro di query seguente per filtrare i risultati restituiti. Se non si impostano parametri di query, vengono restituite tutte le connessioni del dispositivo.
| Nome |
Descrizione |
Esempio |
Obbligatorio/Facoltativo |
|
Autorizzato |
Boolean:
-
true: consente di filtrare i dati solo nei dispositivi autorizzati.
-
false: consente di filtrare i dati solo nei dispositivi non autorizzati. |
/api/v1/devices/ |
Facoltativo |
Tipo: GET
curl -k -H "Authorization: <AUTH_TOKEN>" 'https://<IP_ADDRESS>/api/v1/devices/'
Passaggi successivi
Per altre informazioni, vedere Panoramica delle informazioni di riferimento sull'API Defender per IoT.