Endpoints de diagnóstico de rDWS
URL base para estos endpoints: https://ws.bsn.cloud/rest/v1/
_________________________________________________________________________
GET /diagnostics/
Ejecuta diagnósticos de red en el reproductor
Ejemplo de solicitud
GET /rest/v1/diagnostics/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+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
- aprobar bool: Indica si la prueba pasó o no
- resultado string: El valor real para las pruebas de diagnóstico, como verificar el tipo y el ping.
- vale bool: Si los diagnósticos se ejecutaron en la interfaz o no.
Ejemplo de respuesta
{
"route": "/v1/diagnostics",
"method": "GET",
"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 /diagnostics/dns-lookup/{:domain_name}/
Prueba la resolución de nombres en la dirección DNS especificada
Segmento
- domain_name: La dirección DNS (por ejemplo, google.com)
Ejemplo de solicitud
GET /rest/v1/diagnostics/dns-lookup/google.com/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonCuerpo de la respuesta
El reproductor consulta cada campo DNS por separado y luego recopila los datos devueltos en el objeto registros y los errores devueltos en el objeto listaDeErrores . Se consultan los siguientes campos DNS: "ipv4", "ipv6", "cname", "mx", "service", "text".
- 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
- aprobar int: El número total de solicitudes aprobadas
- fracaso int: El número total de solicitudes fallidas.
- 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 de host y puntero
- udp object
- hecho int: El número total de solicitudes DNS realizadas
- aprobar int: El número total de solicitudes aprobadas
- fracaso int: El número total de solicitudes fallidas.
- 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 de host y puntero
- listaDeErrores 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 (normalmente el mismo valor que code)
- llamada al sistema string: Información sobre la pila de llamadas del sistema
- nombre de host string: El valor pasado en la URL
Ejemplo de respuesta
{
"route": "/v1/diagnostics/dns-lookup/google.com",
"method": "GET",
"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 /diagnostics/ping/{:domain_name}/
Solicita al reproductor que haga ping a la dirección IP o DNS especificada en su red local. Esta llamada puede tardar más de 10 segundos en devolver una respuesta.
Segmento
- domain_name: La dirección IP o DNS especificada
Ejemplo de solicitud
GET /rest/v1/diagnostics/ping/0.0.0.0/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonCuerpo de la respuesta
- éxito bool: Un indicador que indica si la operación se realizó correctamente o no
- respuesta object:
- nombre de host string: El valor que usted pasó en la URL
- resultados object:
- ipv4 object[ ]:
- dirección string: La dirección IPv4 a la que se hace ping
- resultados object:
- recibido int: La cantidad de paquetes recibidos
- estadísticas object
- promedio int: El tiempo promedio para que el paquete regrese
- el más rápido int: El tiempo más rápido para que el paquete regrese
- más lento int: El tiempo más lento para que el paquete regrese
- unidades int: Las unidades de tiempo (normalmente microsegundos)
- transmitido int: La cantidad 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: La cantidad de paquetes recibidos
- transmitido int: La cantidad de paquetes transmitidos
La entrada ipv6 solo se devolverá si IPv6 está presente.
Ejemplo de respuesta
{
"route": "/v1/diagnostics/ping/0.0.0.0",
"method": "GET",
"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 /diagnostics/trace-route/{:domain_name}/
Solicita al reproductor que realice un diagnóstico estándar de trace-route en la dirección IP o DNS especificada. Esta llamada puede tardar varios minutos en devolver una respuesta.
Segmento
- domain_name: La dirección IP o DNS especificada
Parámetro de cadena de consulta
- resolverDirección bool: Especifica si la dirección IP o DNS debe resolverse o no
Ejemplo de solicitud
GET /rest/v1/diagnostics/trace-route/google.com/?resolveAddress=true&destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonCuerpo de la respuesta
- dirección string: La dirección IP en la que está ejecutando la ruta de rastreo
- resultados object:
- salida string[ ]: Devuelve la información de salida de la ruta de rastreo 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 ruta de rastreo
- nombre de host string: El nombre de host del servidor
- estadísticas object
- alcanzable string
- tiempo string: El tiempo requerido para que la solicitud de ruta de rastreo regrese
- unidades string: Las unidades de tiempo (generalmente en milisegundos)
- interfaz: La interfaz de red. Los nombres posibles incluyen eth0, wlan0, y módem.
Ejemplo de respuesta
{
"route": "/v1/diagnostics/trace-route/152.101.32.76",
"method": "GET",
"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 /diagnostics/network-configuration/{:interface}/
Recupera información sobre la configuración de la interfaz de red en el reproductor
Segmento
Ejemplo de solicitud
GET /rest/v1/diagnostics/network-configuration/eth0/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonCuerpo de la respuesta
Algunas entradas (p. ej., caCertificates, identificadorDelCliente) 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[ ]: Un arreglo de objetos Interface que representan interfaces de red:
- nombre string: El nombre de la interfaz (por ejemplo, "eth0")
- errores Error[ ]: Un arreglo de mensajes de error asociados con la interfaz
- params Param[ ]: Un arreglo 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[ ]: Un arreglo de objetos Info que proporcionan información del host de red. Cada objeto puede tener las siguientes entradas:
- errores Error[ ]: Un arreglo de mensajes de error asociados con el host de red
- params Param[ ]: Un arreglo de objetos Param que representan parámetros asociados con el host de red
- bsn Info[ ]: Un arreglo de objetos Info que proporcionan información sobre la comunicación BSN.
- otro Info[ ]: Un arreglo de objetos Info que proporcionan información diversa de la red.
- caCertificate string: El contenido de un archivo de certificado CA en formato de texto (es decir, un archivo "pem").
- clientCertificate bool: Un indicador que señala si el reproductor está utilizando un certificado de cliente
- identificadorDelCliente string: El identificador de cliente DHCP para la interfaz de red
- dnsServerList string[ ]: Una lista de direcciones IP de los servidores DNS
- dominio string: El nombre de dominio para la interfaz de red
- eapTlsOptions string: Una cadena que contiene opciones específicas de EAP
- enabledProtocolList string[ ]: Una matriz de protocolos IP habilitados. Los valores compatibles actualmente son "IPv4" y "IPv6".
- identidad string: La identidad RADIUS
- ipAddressList string[ ]: Las direcciones IP asignadas al reproductor
- inboundShaperRate int: 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: 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: La unidad máxima de transmisión (MTU) para la interfaz de red en bytes
- privateKey string: La clave privada para la autenticación
- vlanIdList int[ ]: Una matriz de IDs de VLAN compatibles con la interfaz de red principal
- modo de seguridad string: Modo de seguridad para la autenticación
Ejemplo de respuesta
{
"route": "/v1/diagnostics/network-configuration/eth0",
"method": "GET",
"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 /diagnostics/network-configuration/{:interface}/
Aplica una configuración de red de prueba en el reproductor. Debe usar GET para obtener los parámetros de configuración antes de establecerla mediante esta API. Los parámetros texto y salida NO son necesarios en PUT.
Segmento
- interfaz: 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 de CA en formato de texto (es decir, un archivo "pem").
- clientCertificate bool optional: Un indicador de si el reproductor está usando un certificado de cliente
- identificadorDelCliente 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. Actualmente, los valores compatibles 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 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: Un arreglo de IDs de VLAN compatibles con la interfaz de red principal
- modo de seguridad 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 /rest/v1/diagnostics/network-configuration/eth0 HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json
Content-Type: application/json
Content-Length: 75Este es el cuerpo de la solicitud de ejemplo:
{
"data": {
"caCertificates": "",
"clientCertificate": false,
"clientIdentifier": "BrightSign:D7E8CV332141",
"dnsServerList": [],
"domain": "",
"eapTlsOptions": "",
"enabledProtocolList": [
"IPv4",
"IPv6"
],
"identity": "",
"ipAddressList": [],
"privateKey": false,
"securityMode": "",
"vlanIdList": []
}
}GET /diagnostics/network-neighborhood/
Recupera información sobre el entorno de red actual del reproductor (los otros reproductores en la misma red).
Ejemplo de solicitud
GET /rest/v1/diagnostics/network-neighborhood/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonCuerpo de la respuesta
- éxito bool: Un indicador que indica si la operación se realizó correctamente
- respuesta object[ ]: Un arreglo de información sobre los reproductores en su entorno de red
- chassis-descr string: La versión del modelo, la versión del sistema operativo, 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á utilizando el reproductor
- port-id string
- vlan-pvid string
Si no se pudo realizar el diagnóstico, el cuerpo de la respuesta puede ser en cambio un mensaje de error.
Ejemplo de respuesta
{
"route": "/v1/diagnostics/network-neighborhood",
"method": "GET",
"data": {
"result": {
"success": true,
"response": [
{
"chassis-descr": "BrightSign XT1144 REVE 8.5.47 UHE115005214",
"chassis-id": "90:ac:3f:28:fb:a4",
"chassis-name": "BrightSign-UHE115005214",
"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 /diagnostics/packet-capture/
Obtiene el estado actual de la operación de captura de paquetes. La operación de captura de paquetes requiere que el DWS heredado esté funcionando.
Ejemplo de solicitud
GET /rest/v1/diagnostics/packet-capture/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonCuerpo de la respuesta
- statusCode int: El código de éxito o error (200 es éxito)
- is_running bool: Indicador que indica si la operación de captura de paquetes está en ejecución
Ejemplo de respuesta
{
"route": "/v1/diagnostics/packet-capture",
"method": "GET",
"data": {
"result": {
"statusCode": 200,
"is_running": false
}
}
}POST /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 pasa esta cadena, 'capture.pcap' es el valor predeterminado.
- interfaz string: El nombre de la interfaz para la cual se está realizando la captura de paquetes. 'eth0' es el valor predeterminado.
- duración int: La duración durante la cual se ejecuta la captura de paquetes 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 pcap estándar. Esta cadena está vacía de forma predeterminada.
Ejemplo de solicitud
POST /rest/v1/diagnostics/packet-capture/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 190Este es el cuerpo de solicitud de ejemplo:
{
"data": {
"filename": "capture.pcap",
"interface": "eth0",
"duration": 300,
"maxpackets": 0,
"snaplen": 0,
"filter": ""
}
}Ejemplo de respuesta
{
"data": {
"result": {
"statusCode": 200,
"is_running": true
}
},
"route": "/v1/diagnostics/packet-capture",
"method": "POST"
}DELETE /diagnostics/packet-capture/
Detiene una operación de captura de paquetes
Ejemplo de solicitud
DELETE /rest/v1/diagnostics/packet-capture/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonEjemplo de respuesta
{
"route": "/v1/diagnostics/packet-capture",
"method": "DELETE",
"data": {
"result": {
"statusCode": 200,
"is_running": false
}
}
}GET /diagnostics/telnet/
Obtiene información sobre telnet del reproductor, incluido su estado habilitado y número de puerto. Esto solo está disponible en BOS 9.0.110 y versiones posteriores.
Ejemplo de solicitud
GET /rest/v1/diagnostics/telnet?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}Ejemplo de respuesta
{
"route": "/v1/diagnostics/telnet",
"method": "GET",
"data": {
"result": {
"enabled": true,
"portNumber": 23
}
}
}PUT /diagnostics/telnet/
Esto solo está disponible en BOS 9.0.110 y versiones posteriores.
Cuerpo de la solicitud
- habilitado bool: Habilita o deshabilita Telnet en el reproductor
- númeroDePuerto int: El número de puerto en el que se 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 configuran de la siguiente manera:
PUT /rest/v1/diagnostics/telnet/ HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json
Content-Type: application/json
Content-Length: 75Este es el cuerpo de la solicitud de ejemplo:
{
"data": {
"enabled": true
"portNumber": "23",
"password": {{password}}
}
}Ejemplo de respuesta
{
"data": {
"result": {
"success": true,
"reboot": true
}
},
"route": "/v1/diagnostics/telnet",
"method": "PUT"
}GET /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 y versiones posteriores.
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:
GET /rest/v1/diagnostics/ssh/ HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
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 /diagnostics/ssh/
Esto solo está disponible en BOS 9.0.110 y versiones posteriores.
Cuerpo de la solicitud
- habilitado bool: Habilita o deshabilita SSH en el reproductor
- númeroDePuerto int: El número de puerto en el que se habilitará SSH
- contraseña string: Establece la contraseña de inicio de sesión en texto plano para la conexión SSH
- reinicio bool: Este parámetro opcional reinicia el reproductor inmediatamente después de ejecutar esta operación. Es verdadero de forma predeterminada.
- contraseñaOfuscada string: Este parámetro opcional establece la contraseña de inicio de sesión para la conexión SSH. La contraseña debe haber sido previamente ofuscada usando un secreto compartido. Contacte 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 configuran de la siguiente manera:
PUT /rest/v1/diagnostics/ssh/ HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json
Content-Type: application/json
Content-Length: 65Este es el cuerpo de la solicitud de ejemplo:
{
"data": {
"enabled": true,
"portNumber": 22,
"password": {{password}}
}
}Ejemplo de respuesta
{
"data": {
"result": {
"success": true,
"reboot": true
}
},
"route": "/v1/diagnostics/ssh",
"method": "PUT"
}