Puntos finales de diagnóstico de LDWS
DELETE /v1/storage/:device/
Formatea un dispositivo de almacenamiento
Debe deshabilitar la ejecución automática antes de reformatear la tarjeta SD en su dispositivo. Para deshabilitar la ejecución automática, use PUT /v1/control/reboot con el parámetro body {“autorun”:”disable”}, como se describe en esta páginaesta página.
Segmento
- :device string: El dispositivo de almacenamiento especificado (consulte esta página para obtener una lista de dispositivos disponibles)
Cuerpo de la solicitud
- fs string: El sistema de archivos que se utilizará al reformatear un dispositivo de almacenamiento. El valor predeterminado de fs es "exfat".
Ejemplo de solicitud
DELETE /api/v1/storage/sd/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 49Este es el cuerpo de solicitud de ejemplo:
{
"fs": "exfat"
}Ejemplo de respuesta
{
"data": {
"result": {
"success": true,
"output": "Format completeted successfully.",
"error": ""
}
}
}GET /v1/diagnostics/
Ejecuta diagnósticos de red en el reproductor y devuelve el resultado en formato JSON.
Ejemplo de solicitud
GET /api/v1/diagnostics/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
Para cada uno de ethernet, wifi, módem, e internet:
- diagnóstico string: Indica si este tipo de interfaz está presente
- registro object[ ]: Esto contiene los resultados de diagnóstico para la interfaz:
- nombre string: El nombre de la prueba de diagnóstico
- pase bool: Indica si la prueba se aprobó o no
- resultado string: El valor real para las pruebas de diagnóstico, como la verificación de tipo y ping.
- ok bool: Si se ejecutaron diagnósticos en la interfaz o no.
Ejemplo de respuesta
{
"data": {
"result": {
"ethernet": {
"diagnosis": "OK",
"log": [
{
"name": "Checking model networking support",
"pass": true,
"result": ""
},
{
"name": "Checking for Ethernet interface",
"pass": true,
"result": ""
},
{
"name": "Checking interface type",
"pass": true,
"result": "Ethernet"
},
{
"name": "Checking Ethernet link",
"pass": true,
"result": ""
},
{
"name": "Checking Ethernet IP address",
"pass": true,
"result": ""
},
{
"name": "Checking Ethernet netmask",
"pass": true,
"result": ""
},
{
"name": "Checking Ethernet gateway",
"pass": true,
"result": "PING 10/10: 1375/1537/1623us"
}
],
"ok": true
},
"wifi": {
"diagnosis": "WiFi interface not present",
"log": [
{
"name": "Checking model networking support",
"pass": true,
"result": ""
},
{
"name": "Checking for WiFi interface",
"pass": false,
"result": "WiFi interface not present"
}
],
"ok": false
},
"modem": {
"diagnosis": "Modem interface not present",
"log": [
{
"name": "Checking model networking support",
"pass": true,
"result": ""
},
{
"name": "Checking for Modem interface",
"pass": false,
"result": "Modem interface not present"
}
],
"ok": false
},
"internet": {
"diagnosis": "OK",
"log": [
{
"info": [
"DNS server 2600:1700:dac0:2060::1 is not a valid IPv4 address"
],
"name": "Checking DNS servers",
"pass": true,
"result": "At least one DNS server is valid"
},
{
"info": [
"DNS pass/fail/timeout/mismatch UDP: 50/0/0/0 TCP 50/0/0/0"
],
"name": "Checking DNS server (cached)",
"pass": true,
"result": "DNS servers responded to 100% of potentially cached requests"
},
{
"info": [
"DNS pass/fail/timeout/mismatch UDP: 5/0/0/0 TCP 5/0/0/0"
],
"name": "Checking DNS server (hopefully not cached)",
"pass": true,
"result": "DNS servers responded to 100% of hopefully uncached requests"
},
{
"name": "Checking Internet connectivity",
"pass": true,
"result": "PING 10/10: 87398/87760/88247us"
},
{
"name": "Checking HTTP",
"pass": true,
"result": "External IP is 76.218.104.224"
},
{
"name": "Checking time server",
"pass": true,
"result": ""
}
],
"ok": true
}
}
}
}GET /v1/diagnostics/dns-lookup/:address/
Ejecuta una búsqueda DNS para una dirección, que puede ser un nombre de host o una dirección IP.
Segmento
- :address: El nombre de host (por ejemplo, http://google.com) o dirección IP
Ejemplo de solicitud
GET /api/v1/diagnostics/dns-lookup/google.com/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
El reproductor consulta cada campo DNS por separado, luego recopila los datos devueltos en el objeto registros , la información de conexión tcp y udp está en el objeto server_test y los errores devueltos en el objeto lista de errores .
- registros object:
- ipv4 string[ ]: Direcciones IPv4
- ipv6 string[ ]: Direcciones IPv6
- texto string[ ]: Registros de texto
- mx object[ ]: Registros de intercambio de correo
- intercambio string
- prioridad int
- server_test object:
- tcp object:
- hecho int: El número total de solicitudes DNS realizadas
- pase int: El número total de solicitudes que pasaron
- fallo int: El número total de solicitudes que fallaron.
- tiempo de espera int: El número total de solicitudes que agotaron el tiempo de espera
- desajuste int: El número total de solicitudes no coincidentes entre los registros del host y del puntero
- udp object:
- hecho int: El número total de solicitudes DNS realizadas
- pase int: El número total de solicitudes que pasaron
- fallo int: El número total de solicitudes que fallaron.
- tiempo de espera int: El número total de solicitudes que agotaron el tiempo de espera.
- desajuste int: El número total de solicitudes no coincidentes entre los registros del host y del puntero
- lista de errores object[ ]
- campo string: El campo ('ipv4', 'ipv6', 'cname', 'mx', 'service' o 'text') del que provino el error
- err object:
- errno string: Número de error (generalmente el mismo valor que code)
- código string: Número de código de error (consulte https://nodejs.org/docs/latest-v14.x/api/dns.html#dns_error_codes)
- llamada al sistema string: Información sobre la pila de llamadas del sistema
- nombre del host string: El valor pasado en la URL
Ejemplo de respuesta
{
"data": {
"result": {
"records": {
"ipv4": [
"142.250.105.113",
"142.250.105.102",
"142.250.105.139",
"142.250.105.101",
"142.250.105.138",
"142.250.105.100"
],
"ipv6": [
"2607:f8b0:4002:c0c::8a",
"2607:f8b0:4002:c0c::8b",
"2607:f8b0:4002:c0c::71",
"2607:f8b0:4002:c0c::64"
],
"mx": [
{
"exchange": "smtp.google.com",
"priority": 10
}
]
},
"server_test": {
"tcp": {
"made": 100,
"pass": 100,
"fail": 0,
"timeout": 0,
"mismatch": 0
},
"udp": {
"made": 100,
"pass": 100,
"fail": 0,
"timeout": 0,
"mismatch": 0
}
},
"errorList": [
{
"field": "cname",
"err": {
"code": "ENODATA",
"syscall": "queryCname",
"hostname": "google.com"
}
},
{
"field": "service",
"err": {
"code": "ENODATA",
"syscall": "querySrv",
"hostname": "google.com"
}
},
{
"field": "text",
"err": {
"code": "ETIMEOUT",
"syscall": "queryTxt",
"hostname": "google.com"
}
}
]
}
}
}GET /v1/diagnostics/ping/:ipAddress/
Hace ping a la dirección pasada en la solicitud. Esto no funciona para nombres de host, solo para direcciones IP.
Segmento
- :ipAddress: La dirección IP especificada
Ejemplo de solicitud
GET /api/v1/diagnostics/ping/0.0.0.0/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
- éxito bool: Un indicador que señala si la operación se realizó correctamente o no
- respuesta object:
- nombre del host string: El valor que pasó en la URL
- resultados string:
- ipv4 object[ ]
- dirección string: La dirección IPv4 a la que se hace ping
- resultados object:
- recibido int: El número de paquetes recibidos
- estadísticas object:
- promedio int: El tiempo promedio de retorno del paquete
- más rápido int: El tiempo más rápido de retorno del paquete
- más lento int: El tiempo más lento de retorno del paquete
- unidades int: Las unidades de tiempo (normalmente microsegundos)
- transmitido int: El número de paquetes transmitidos
- ipv6 object[ ]: Esto solo se devolverá si IPv6 está presente.
- interfaz string:
- fuente string
- dirección string: La dirección IPv6 a la que se hace ping
- resultados object:
- recibido int: El número de paquetes recibidos
- transmitido int: El número de paquetes transmitidos
Ejemplo de respuesta
{
"data": {
"result": {
"success": true,
"response": {
"hostname": "0.0.0.0",
"results": {
"ipv4": [
{
"address": "0.0.0.0",
"results": {
"received": 10,
"stats": {
"average": 318,
"quickest": 223,
"slowest": 336,
"units": "us"
},
"transmitted": 10
},
"up": true
}
]
},
"up": true
}
}
}
}GET /v1/diagnostics/trace-route/:address/
Ejecuta trace-route en el reproductor. Opcionalmente, puede pasar el parámetro de consulta booleano ?resolveAddress para resolver las direcciones IP en el resultado.
Segmento
- :address: La dirección IP o del hostname especificada
Parámetro de cadena de consulta
- resolverDirección bool opcional: Especifica si la dirección IP o del hostname debe resolverse o no en el resultado
Ejemplo de solicitud
GET /api/v1/diagnostics/trace-route/google.com/?resolveAddress%3Dtrue HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
- dirección string: La dirección IP en la que está ejecutando el trace route
- resultados object:
- salida string[ ]: Devuelve la información de salida del trace route en formato de texto
- protocolo string: El protocolo IP (por ejemplo, "ipv4")
- ruta object[ ]:
- salto int: Cuántas veces los datos se mueven de un router al siguiente
- servidores object:
- dirección string: La dirección a la que se realiza la solicitud de trace route
- nombre del host string: El hostname del servidor
- estadísticas object[ ]:
- alcanzable string:
- tiempo string: El tiempo requerido para que la solicitud de trace route regrese
- unidades string: Las unidades de tiempo (normalmente en milisegundos)
Ejemplo de respuesta
{
"data": {
"result": {
"address": "123.456.7.890",
"resolveAddress": "true",
"results": {
"152.101.32.76": {
"output": [
"traceroute to 152.101.32.76 (152.101.32.76), 30 hops max, 46 byte packets",
" 1 10.0.4.1 0.744 ms 0.458 ms 1.740 ms",
" 2 192.168.0.1 1.738 ms 1.387 ms 1.387 ms",
" 3 96.120.89.217 10.553 ms 11.250 ms 11.961 ms",
" 4 96.110.176.145 11.958 ms 11.250 ms 9.845 ms",
" 5 162.151.78.253 11.957 ms 13.366 ms 10.549 ms",
" 6 96.108.99.249 13.366 ms 14.072 ms 20.414 ms",
" 7 68.86.143.93 13.368 ms 11.960 ms 10.549 ms",
" 8 96.97.98.246 32.397 ms 96.112.146.22 11.954 ms 69.241.75.42 9.841 ms",
" 9 * * *",
"10 152.101.32.76 10.452 ms 152.101.32.76 13.302 ms 152.101.32.76 12.649 ms",
"11 192.178.105.102 11.948 ms 142.251.224.181 11.073 ms 192.178.46.198 17.759 ms",
"12 142.251.32.46 11.955 ms 12.649 ms 10.543 ms"
],
"protocol": "ipv4",
"result": 0,
"route": [
{
"error": "timeout",
"hop": 9
}
]
}
}
}
}
}GET /v1/diagnostics/network-neighborhood/
Recupera información sobre el vecindario de red actual del reproductor (los otros reproductores en la misma red).
Ejemplo de solicitud
GET /api/v1/diagnostics/network-neighborhood/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
- éxito bool: Un indicador que indica si la operación se realizó correctamente
- respuesta object[ ]: Una matriz de información sobre los reproductores en su vecindario de red
- chassis-descr string: La versión del modelo, la versión del SO, el número de serie, etc.
- chassis-id string: Un identificador único para el reproductor
- nombre-del-chasis string: El nombre del reproductor
- mgmt-ip string:
- port-descr string: Qué interfaz está usando el reproductor
- port-id string:
- vlan-pvid string:
Si no se pudo realizar el diagnóstico, el cuerpo de la respuesta puede ser, en su lugar, un mensaje de error.
Ejemplo de respuesta
{
"data": {
"result": {
"success": true,
"response": [
{
"chassis-descr": "BrightSign XT1144 REVE 8.5.47 UHE015005214",
"chassis-id": "90:ac:3f:28:fb:a4",
"chassis-name": "BrightSign-UHE015005214",
"mgmt-ip": "2601:647:4500:1e5e:92ac:3fff:fe28:fba4",
"port-descr": "eth0",
"port-id": "90:ac:3f:28:fb:a4",
"vlan-pvid": "0"
}
]
}
}
}GET /v1/diagnostics/network-configuration/:interfaceName/
Obtiene la configuración de red en el reproductor. Consulte APIs DWS localesLocal DWS APIs para obtener más información sobre la autenticación digest.
Segmento
- :interfaceName: La interfaz de red. Los nombres posibles incluyen eth0, wlan0, y módem.
Ejemplo de solicitud
GET /api/v1/diagnostics/network-configuration/eth0/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}Cuerpo de la respuesta
Algunas entradas (p. ej. caCertificates, clientIdentifier) son idénticas para todas las interfaces.
- texto string: La información de configuración de red en formato de texto sin formato
- salida Output: La información de configuración de red como un objeto JSON:
- interfaces Interface[ ]: Una matriz de objetos Interface que representan interfaces de red:
- nombre string: El nombre de la interfaz (por ejemplo, "eth0")
- errores Error[ ]: Una matriz de mensajes de error asociados con la interfaz
- params Param[ ]: Una matriz de objetos Param que representan parámetros asociados con la interfaz de red. Cada interfaz Param tiene las siguientes entradas:
- nombre string: El nombre de la propiedad (p. ej. "MAC")
- valor string: El valor de la propiedad (p. ej. "90:ac:3f:0b:d2:88")
- anfitrión Info[ ]: Una matriz de objetos Info que proporcionan información del host de red. Cada objeto puede tener las siguientes entradas:
- errores Error[ ]: Una matriz de mensajes de error asociados con el host de red
- params Param[ ]: Una matriz de objetos Param que representan parámetros asociados con el host de red
- bsn Info[ ]: Una matriz de objetos Info que proporcionan información sobre la comunicación BSN.
- otro Info[ ]: Una matriz de objetos Info que proporcionan información diversa de la red.
- caCertificate string optional: El contenido de un archivo de certificado CA en formato de texto (es decir, un archivo "pem").
- clientCertificate bool optional: Un indicador que señala si el reproductor está usando un certificado de cliente
- clientIdentifier string optional: El identificador de cliente DHCP para la interfaz de red
- dnsServerList string[ ] optional: Una lista de direcciones IP de los servidores DNS
- dominio string optional: El nombre de dominio para la interfaz de red
- eapTlsOptions string optional: Una cadena que contiene opciones específicas de EAP
- enabledProtocolList string[ ] optional: Una matriz de protocolos IP habilitados. Los valores admitidos actualmente son "IPv4" y "IPv6".
- identidad string optional: La identidad de RADIUS
- ipAddressList string[ ] optional: Las direcciones IP asignadas al reproductor
- inboundShaperRate int optional: El límite de ancho de banda para el tráfico entrante en bits por segundo. Un valor de -1 especifica el límite de ancho de banda predeterminado y un valor de 0 especifica que no hay límite de ancho de banda (estas dos configuraciones son funcionalmente iguales).
- métrica int optional: La métrica de enrutamiento para la puerta de enlace predeterminada en la interfaz. Las rutas con métricas más bajas tienen prioridad sobre las rutas con métricas más altas.
- mtu int optional: La unidad máxima de transmisión (MTU) para la interfaz de red en bytes
- privateKey string optional: La clave privada para la autenticación
- vlanIdList int[ ] optional: Una matriz de ID de VLAN compatibles con la interfaz de red principal
- modoseguridad string optional: Modo de seguridad para la autenticación
Ejemplo de respuesta
{
"data": {
"result": {
"success": true,
"response": [
{
"text": "\r\nInterface: eth0\r\nType: Wired\r\nLink: Yes\r\nConfiguration: DHCP\r\nClient ID: BrightSign:RE433D006644\r\nMAC: 90:ac:3f:2a:01:79\r\nCurrent IP: 192.168.1.174\r\nNetmask: 255.255.255.0\r\nBroadcast: 192.168.1.255\r\nGateway: 192.168.1.254\r\nIP6 Address: 2600:1700:dac0:2060::43/128\r\nIP6 Address: 2600:1700:dac0:2060:92ac:3fff:fe2a:179/64\r\nIP6 Address: fe80::92ac:3fff:fe2a:179/64\r\nMetric: 0\r\nDomains: attlocal.net\r\nDNS: 192.168.1.254\r\n 2600:1700:dac0:2060::1\r\nShape inbound: No\r\n\r\nHost \r\nHost Name: BrightSign-RE433D006644\r\nmDNS Host Name: BrightSign-RE433D006644.local\r\nTime server: http://time.brightsignnetwork.com\r\nProxy Bypass: <none>\r\n\r\nBSN \r\nCrash URL: https://crashes.brightsignnetwork.com/bs/crashdump\r\nError URL: https://handlers.bsn.cloud//bs/error.ashx\r\nRecovery URL: https://handlers.bsn.cloud//recovery/recovery.ashx\r\n\r\nOther \r\nHttp Port: \r\n\r\n\r\n",
"output": {
"interfaces": [
{
"name": "eth0",
"errors": [],
"params": [
{
"name": "Type",
"value": [
"Wired"
]
},
{
"name": "Link",
"value": [
"Yes"
]
},
{
"name": "Configuration",
"value": [
"DHCP"
]
},
{
"name": "Client ID",
"value": [
"BrightSign:RE433D006644"
]
},
{
"name": "MAC",
"value": [
"90:ac:3f:2a:01:79"
]
},
{
"name": "Current IP",
"value": [
"192.168.1.174"
]
},
{
"name": "Netmask",
"value": [
"255.255.255.0"
]
},
{
"name": "Broadcast",
"value": [
"192.168.1.255"
]
},
{
"name": "Gateway",
"value": [
"192.168.1.254"
]
},
{
"name": "IP6 Address",
"value": [
"2600:1700:dac0:2060::43/128"
]
},
{
"name": "IP6 Address",
"value": [
"2600:1700:dac0:2060:92ac:3fff:fe2a:179/64"
]
},
{
"name": "IP6 Address",
"value": [
"fe80::92ac:3fff:fe2a:179/64"
]
},
{
"name": "Metric",
"value": [
"0"
]
},
{
"name": "Domains",
"value": [
"attlocal.net"
]
},
{
"name": "DNS",
"value": [
"192.168.1.254",
"2600:1700:dac0:2060::1"
]
},
{
"name": "Shape inbound",
"value": [
"No"
]
}
]
}
],
"Host": [
{
"errors": [],
"params": [
{
"name": "Host Name",
"value": [
"BrightSign-RE433D006644"
]
},
{
"name": "mDNS Host Name",
"value": [
"BrightSign-RE433D006644.local"
]
},
{
"name": "Time server",
"value": [
"http://time.brightsignnetwork.com"
]
},
{
"name": "Proxy Bypass",
"value": [
"<none>"
]
}
]
}
],
"BSN": [
{
"errors": [],
"params": [
{
"name": "Crash URL",
"value": [
"https://crashes.brightsignnetwork.com/bs/crashdump"
]
},
{
"name": "Error URL",
"value": [
"https://handlers.bsn.cloud//bs/error.ashx"
]
},
{
"name": "Recovery URL",
"value": [
"https://handlers.bsn.cloud//recovery/recovery.ashx"
]
}
]
}
],
"Other": [
{
"errors": [],
"params": [
{
"name": "Http Port",
"value": [
""
]
}
]
}
]
}
},
{
"caCertificates": "",
"clientCertificate": false,
"clientIdentifier": "BrightSign:RE433D006644",
"dnsServerList": [],
"domain": "",
"eapTlsOptions": "",
"enabledProtocolList": [
"IPv4",
"IPv6"
],
"identity": "",
"ipAddressList": [],
"metric": 0,
"privateKey": false,
"securityMode": "",
"vlanIdList": []
}
]
}
}
}PUT /v1/diagnostics/network-configuration/:interfaceName/
Aplica una configuración de red de prueba en el reproductor. Debe usar GET para obtener los parámetros de configuración antes de establecerlos usando esta API. Los parámetros texto y salida NO son necesarios en PUT.
Segmento
- :interfaceName: La interfaz de red. Los nombres posibles incluyen eth0, wlan0, y módem.
Cuerpo de la solicitud
- caCertificate string optional: El contenido de un archivo de certificado CA en formato de texto (es decir, un archivo "pem").
- clientCertificate bool optional: Un indicador que indica si el reproductor está utilizando un certificado de cliente
- clientIdentifier string optional: El identificador de cliente DHCP para la interfaz de red
- dnsServerList string[ ] optional: Una lista de direcciones IP de los servidores DNS
- dominio string optional: El nombre de dominio para la interfaz de red
- eapTlsOptions string optional: Una cadena que contiene opciones específicas de EAP
- enabledProtocolList string[ ] optional: Una matriz de protocolos IP habilitados. Los valores admitidos actualmente son "IPv4" y "IPv6".
- identidad string optional: La identidad RADIUS
- ipAddressList string[ ] optional: Las direcciones IP asignadas al reproductor
- inboundShaperRate int optional: El límite de ancho de banda para el tráfico entrante en bits por segundo. Un valor de -1 especifica el límite de ancho de banda predeterminado y un valor de 0 especifica que no hay límite de ancho de banda (estas dos configuraciones son funcionalmente equivalentes).
- métrica int optional: La métrica de enrutamiento para la puerta de enlace predeterminada en la interfaz. Las rutas con métricas más bajas tienen prioridad sobre las rutas con métricas más altas.
- mtu int optional: La unidad máxima de transmisión (MTU) para la interfaz de red en bytes
- privateKey string optional: La clave privada para la autenticación
- vlanIdList int[ ] optional: Una matriz de ID de VLAN compatibles con la interfaz de red principal
- modoseguridad string optional: Modo de seguridad para la autenticación
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
PUT /api/v1/diagnostics/network-configuration/eth0 HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 75Este es el cuerpo de solicitud de ejemplo:
{
"caCertificates": "",
"clientCertificate": false,
"clientIdentifier": "BrightSign:D7E8CV332141",
"dnsServerList": ["192.168.86.1"],
"domain": "lan",
"eapTlsOptions": "",
"enabledProtocolList": [
"IPv4",
"IPv6"
],
"identity": "",
"ipAddressList": [],
"inboundShaperRate": 0,
"metric": 1002,
"privateKey": false,
"securityMode": "",
"vlanIdList": []
}Ejemplo de respuesta
{
"success": true,
"reboot": true // Indicates whether the player will reboot
}GET /v1/diagnostics/interfaces/
Devuelve la lista de interfaces de red aplicadas en el reproductor.
Cuerpo de la solicitud
GET /api/v1/diagnostics/interfaces/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
{
"data": {
"result": [
"eth0",
"ppp0"
]
}
}GET /v1/diagnostics/packet-capture/
Devuelve el estado actual de la operación de captura de paquetes.
Ejemplo de solicitud
GET /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
- statusCode int: El código de éxito o error (200 indica éxito)
- is_running bool: Indicador que señala si la operación de captura de paquetes está en ejecución
Ejemplo de respuesta
{
"data": {
"result": {
"statusCode": 200,
"is_running": false
}
}
}POST /v1/diagnostics/packet-capture/
Inicia una operación de captura de paquetes
Cuerpo de la solicitud
- nombre de archivo string: El nombre del archivo de captura de paquetes. Si no proporciona esta cadena, 'capture.pcap' se utiliza de forma predeterminada.
- interfaz_de_red string: El nombre de la interfaz de red para la que se realiza la captura de paquetes. 'eth0' es el valor predeterminado.
- duración int: La duración durante la cual la captura de paquetes se ejecuta en segundos. El valor predeterminado es 300 segundos (5 minutos).
- maxpackets int: El número máximo de paquetes que se capturarán antes de finalizar el proceso. 0 es el valor predeterminado.
- snaplen int: El tamaño máximo de cada paquete. Especificar 0 indicará a la función que capture el paquete completo sin importar el tamaño.
- filtro string: Un campo para el filtrado condicional de paquetes. Esta operación utiliza sintaxis estándar de pcap. Esta cadena está vacía de forma predeterminada
Ejemplo de solicitud
POST /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 190Este es el cuerpo de solicitud de ejemplo:
{
"filename": "capture.pcap",
"interface": "eth0",
"duration": 300,
"maxpackets": 0,
"snaplen": 0,
"filter": ""
}Ejemplo de respuesta
{
"data": {
"result": {
"statusCode": 200,
"is_running": true
}
}
}DELETE /v1/diagnostics/packet-capture/
Detiene una operación de captura de paquetes
Ejemplo de solicitud
DELETE /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonEjemplo de respuesta
{
"data": {
"result": {
"statusCode": 200,
"is_running": false
}
}
}GET /v1/diagnostics/telnet/
Devuelve información sobre si Telnet está habilitado o no en el reproductor, y el número de puerto en el que está habilitado si lo está. Esto solo está disponible en BOS 9.0.110 o 8.5.46 y versiones posteriores.
Ejemplo de solicitud
GET /api/v1/diagnostics/telnet/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonEjemplo de respuesta
Una respuesta correcta es un 200 y este cuerpo de respuesta:
{
"enabled": true,
"portNumber": 23
}PUT /v1/diagnostics/telnet/
Esto solo está disponible en BOS 9.0.110 o 8.5.46 y versiones posteriores.
Cuerpo de la solicitud
- habilitado bool: Habilita o deshabilita Telnet en el reproductor
- portNumber int: El número de puerto en el que habilitar Telnet
- reinicio bool: Este parámetro opcional reinicia el reproductor inmediatamente después de ejecutar esta operación. Es verdadero de forma predeterminada.
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
PUT /api/v1/diagnostics/telnet/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 75Este es el cuerpo de la solicitud de ejemplo:
{
"enabled": true
"portNumber": "23"
}Ejemplo de respuesta
{
"success": true,
"reboot": true
}GET /v1/diagnostics/ssh/
Devuelve información sobre si SSH está habilitado o no en el reproductor, y el número de puerto en el que está habilitado si lo está. Esto solo está disponible en BOS 9.0.110 o 8.5.46 y versiones posteriores.
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
GET /api/v1/diagnostics/ssh/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonEjemplo de respuesta
Una respuesta correcta es un 200 y este cuerpo de respuesta:
{
"enabled": true,
"portNumber": 22,
"password": true // Indicates that a value is set
}PUT /v1/diagnostics/ssh/
Esto solo está disponible en BOS 9.0.110 o 8.5.46 y versiones posteriores.
Cuerpo de la solicitud
- habilitado bool: Habilita o deshabilita SSH en el reproductor
- portNumber int: El número de puerto en el que habilitar SSH
- contraseña string: Establece la contraseña de inicio de sesión de texto sin formato para la conexión SSH
- reinicio bool optional: Reinicia el reproductor inmediatamente después de ejecutar esta operación. Es verdadero de forma predeterminada.
- obfuscatedPassword string optional: Establece la contraseña de inicio de sesión para la conexión SSH. La contraseña debe haber sido ofuscada previamente mediante un secreto compartido. Póngase en contacto con [email protected] para obtener más información sobre cómo generar una clave para la ofuscación y almacenarla en el reproductor.
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
PUT /api/v1/diagnostics/ssh/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 65Este es el cuerpo de la solicitud de ejemplo:
{
"enabled": true,
"portNumber": 22,
"password": {{password}}
}Ejemplo de respuesta
{
"success": true,
"reboot": true
}
GET /v1/diagnostics/chromium-debug/
Devuelve si Chromium Web Inspector ha sido configurado. Esta API solo está disponible a partir de BOS 8.5.31 y versiones posteriores (consulte esta página para obtener más información).
Ejemplo de solicitud
GET /api/v1/diagnostics/chromium-debug/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/jsonCuerpo de la respuesta
- enableWebInspector bool: Si Chromium Web Inspector está habilitado para depurar widgets HTML
Ejemplo de respuesta
Una respuesta correcta es un 200 y este cuerpo de respuesta:
{
"data": {
"result": {
"enableWebInspector": false
}
}
}PUT /v1/diagnostics/chromium-debug/
Actualiza la configuración de Chromium Web Inspector. Esta API solo está disponible a partir de BOS 8.5.31 y versiones posteriores (consulte esta página para obtener más información).
Cuerpo de la solicitud
- enableWebInspector bool: Habilita o deshabilita Chromium Web Inspector para depurar widgets HTML. Requiere un reinicio para que los cambios surtan efecto.
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
PUT /api/v1/diagnostics/chromium-debug/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 45Este es el cuerpo de la solicitud de ejemplo:
{
"enableWebInspector": true
}Cuerpo de la respuesta
El servidor devolverá un mensaje de éxito o de error. Una respuesta correcta casi siempre provocará un reinicio, lo cual se indicará en la respuesta.
- resultado object: El objeto de respuesta
- éxito bool: Si la operación fue correcta o no
- reinicio bool: Si el reproductor se está reiniciando o no
Ejemplo de respuesta
{
"data": {
"result": {
"success": true,
"reboot": true
}
}
}