{"id":374048,"date":"2024-10-23T11:35:00","date_gmt":"2024-10-23T11:35:00","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=374048"},"modified":"2024-10-23T11:45:48","modified_gmt":"2024-10-23T11:45:48","slug":"buscar-en-la-cache-dns-de-linux","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/es\/script-hub\/buscar-en-la-cache-dns-de-linux\/","title":{"rendered":"C\u00f3mo buscar en la cach\u00e9 DNS de Linux de forma eficaz utilizando un script Bash para profesionales de TI"},"content":{"rendered":"<p>En el panorama inform\u00e1tico actual, gestionar las redes de forma eficaz es crucial. Un componente clave de esta gesti\u00f3n es el almacenamiento en cach\u00e9 <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-dns\/\" target=\"_blank\" rel=\"noopener\">del DNS (Sistema de Nombres de Domin<\/a> io), que puede mejorar significativamente el rendimiento de la red al reducir el tiempo que se tarda en resolver los nombres de dominio.<\/p>\n<p>Para los profesionales de TI, especialmente los que gestionan m\u00faltiples sistemas, es vital comprender y utilizar la informaci\u00f3n de la cach\u00e9 DNS. Este post explorar\u00e1 <strong>un script de Bash dise\u00f1ado para buscar en la cach\u00e9 DNS<\/strong> de <a href=\"https:\/\/www.ninjaone.com\/blog\/linux-filesystems\/\" target=\"_blank\" rel=\"noopener\">Linux<\/a>, proporcionando un desglose detallado de c\u00f3mo funciona, sus casos de uso y las mejores pr\u00e1cticas para su implementaci\u00f3n.<\/p>\n<h2>Contexto<\/h2>\n<p>El almacenamiento en cach\u00e9 DNS almacena los resultados de las consultas DNS de forma local en un dispositivo, lo que permite responder m\u00e1s r\u00e1pidamente a las solicitudes posteriores de los mismos nombres de dominio. Mientras que los servidores generalmente no tienen servicios de cach\u00e9 DNS habilitados por defecto, ciertos entornos de escritorio como GNOME o KDE s\u00ed suelen tener, y emplean servicios como systemd-resolved o dnsmasq.<\/p>\n<p>Este script est\u00e1 dise\u00f1ado para ayudar a los profesionales de TI y <a href=\"https:\/\/www.ninjaone.com\/es\/que-es-un-msp\" target=\"_blank\" rel=\"noopener\">proveedores de servicios gestionados (MSP)<\/a> a buscar y recuperar entradas de cach\u00e9 DNS en sistemas Linux. La capacidad de buscar en las entradas de cach\u00e9 DNS puede ser crucial para solucionar problemas de red, investigar posibles incidentes de seguridad o simplemente optimizar el rendimiento de la red.<\/p>\n<p>Al proporcionar una forma sistem\u00e1tica de acceder a estas entradas y filtrarlas, el script ayuda a agilizar tareas que, de otro modo, requerir\u00edan m\u00e9todos m\u00e1s complejos o lentos.<\/p>\n<h2>El script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">#!\/usr\/bin\/env bash\r\n\r\n# Description: Find DNS Cache entries on a Linux system. Supports systemd-resolved and dnsmasq(requires log-facility to be configured).\r\n#\r\n# Servers usually do not have a DNS cache service installed by default.\r\n# systemd-resolved is commonly installed along with most Desktop Environments, such as GNOME and KDE.\r\n#\r\n# Release Notes: Initial Release\r\n#   By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n#   Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n#   Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n#   Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n#   Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n#   Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n#   Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n#   EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n\r\n# A comma separated list of keywords to search for in the DNS cache. Example: \"google,comcast,cloudflare\"\r\nkeywords_to_search=$1\r\n# A multiline custom field to save the DNS cache entries.\r\nmultiline_custom_field=$2\r\n\r\n# Check if the multilineCustomField is set\r\nif [[ -n \"${multilineCustomField}\" &amp;&amp; \"${multilineCustomField}\" != \"null\" ]]; then\r\n    multiline_custom_field=$multilineCustomField\r\nfi\r\n\r\n# Check if the keywordsToSearch is set\r\nif [[ -n \"${keywordsToSearch}\" &amp;&amp; \"${keywordsToSearch}\" != \"null\" ]]; then\r\n    keywords_to_search=$keywordsToSearch\r\nfi\r\n\r\n# Check if the keywords_to_search is set\r\nif [[ -z \"${keywords_to_search}\" ]]; then\r\n    echo \"[Info] keywords_to_search is not set.\"\r\n    exit 1\r\nelse\r\n    # Split the keywords_to_search into an array\r\n    OLDIFS=$IFS\r\n    IFS=',' read -r -a keywords &lt;&lt;&lt;\"${keywords_to_search}\"\r\n    IFS=$OLDIFS\r\n    # Trim trailing and leading whitespace from each keyword\r\n    keywords=(\"${keywords[@]\/ \/}\")\r\n\r\nfi\r\n\r\n# Check if the multiline_custom_field is set\r\nif [[ -z \"${multiline_custom_field}\" ]]; then\r\n    echo \"[Info] multilineCustomField is not set.\"\r\nfi\r\n\r\n# Check if ninjarmm-cli command exists in the default path\r\nninjarmm_cli=\"\/opt\/NinjaRMMAgent\/programdata\/ninjarmm-cli\"\r\nif [[ -z $ninjarmm_cli ]]; then\r\n    echo \"[Error] The ninjarmm-cli command does not exist in the default path. Please ensure the NinjaRMM agent is installed before running this script.\"\r\n    exit 1\r\nelse\r\n    # ninjarmm-cli command exists in the default path\r\n    echo -n\r\nfi\r\n\r\n# Check that we are running as root\r\nif [[ $EUID -ne 0 ]]; then\r\n    echo \"[Error] This script must be run as root.\"\r\n    exit 1\r\nfi\r\n\r\n# Check for which dns cache service is installed\r\nif [ \"$(command -v resolvectl)\" ]; then\r\n    # resolvectl is installed\r\n    dns_cache_service=\"resolvectl\"\r\nelif [ \"$(command -v dnsmasq)\" ]; then\r\n    # dnsmasq is installed\r\n    dns_cache_service=\"dnsmasq\"\r\nelse\r\n    # no dns cache service is installed\r\n    echo \"[Error] No DNS cache service is installed on this system that this script supports.\"\r\n    echo \"\"\r\n    echo \"[Info] Supported DNS cache services: systemd-resolved, dnsmasq\"\r\n    echo \"[Info] systemd-resolved commonly installed along with a Desktop Environment.\"\r\n    echo \"[Info] Servers usually do not have a DNS cache service installed by default.\"\r\n    echo \"\"\r\n    echo \"[Info] Installing a DNS cache is not recommended on servers.\"\r\n    exit 1\r\nfi\r\n\r\n# Check if the dns_cache_service is resolvectl\r\nif [[ \"${dns_cache_service}\" == \"resolvectl\" ]]; then\r\n    systemdVersion=$(systemctl --version | head -1 | awk '{ print $2}')\r\n    if [ \"$systemdVersion\" -lt 254 ]; then\r\n        echo \"[Error] The version of systemd is less than 254. The resolvectl show-cache command is not available. Currently system version is ${systemdVersion}.\"\r\n        exit 1\r\n    fi\r\n    # Get the DNS cache entries from resolvectl\r\n    # https:\/\/github.com\/systemd\/systemd\/pull\/28012\r\n    if ! dns_cache=$(resolvectl show-cache 2&gt;\/dev\/null); then\r\n        # Check if the systemd-resolved service is active\r\n        if [[ $(systemctl is-active systemd-resolved) != \"active\" ]]; then\r\n            echo \"[Warn] The systemd-resolved service is not active.\"\r\n        # Check \/etc\/resolv.conf that the nameserver is set to the default IP address 127.0.0.53 for systemd-resolved to work\r\n        elif ! grep -q \"^nameserver 127.0.0.53\" \/etc\/resolv.conf; then\r\n            echo \"[Warn] The nameserver in \/etc\/resolv.conf is not set to an IP address 127.0.0.53 .\"\r\n            echo \"[Info] The nameserver in \/etc\/resolv.conf should be set to an IP address 127.0.0.53 for systemd-resolved to work.\"\r\n        else\r\n            echo \"[Warn] Failed to get the DNS cache entries. Is systemd-resolved installed, configured, and running?\"\r\n        fi\r\n        echo \"\"\r\n        echo \"[Info] Supported DNS cache services: systemd-resolved, dnsmasq\"\r\n        echo \"[Info] systemd-resolved commonly installed along with a Desktop Environment.\"\r\n        echo \"[Info] Servers usually do not have a DNS cache service installed by default.\"\r\n        echo \"\"\r\n        echo \"[Info] Installing a DNS cache is not recommended on servers.\"\r\n        exit 0\r\n    fi\r\n\r\n    dns_cache_entries=\"\"\r\n    # Get the DNS cache entries from resolvectl based on the keywords provided\r\n    for keyword in \"${keywords[@]}\"; do\r\n        # Example DNS cache entry:\r\n        # consto.com IN A 123.123.123.123\r\n        # consto.com IN AAAA 2001:0db8:85a3:0000:0000:8a2e:0370:7334\r\n        dns_cache_entries+=\"DNS Cache Records Matching: ${keyword}\"\r\n        dns_cache_entries+=$'\\n' # newline\r\n        dns_cache_entries+=$(echo \"$dns_cache\" | grep -i -E \"${keyword}\")\r\n        dns_cache_entries+=$'\\n' # newline\r\n    done\r\n    # Print the DNS cache entries\r\n    echo \"\" # newline\r\n    echo \"$dns_cache_entries\"\r\n# Check if the dns_cache_service is dnsmasq\r\nelif [[ \"${dns_cache_service}\" == \"dnsmasq\" ]]; then\r\n    if [ -f \"\/etc\/dnsmasq.conf\" ]; then\r\n        echo \"[Info] dnsmasq configuration file exists.\"\r\n    else\r\n        echo \"[Warn] The dnsmasq configuration file does not exist and is likely not installed or configured.\"\r\n        echo \"\"\r\n        echo \"[Info] Supported DNS cache services: systemd-resolved, dnsmasq\"\r\n        echo \"[Info] systemd-resolved commonly installed along with a Desktop Environment.\"\r\n        echo \"[Info] Servers usually do not have a DNS cache service installed by default.\"\r\n        echo \"\"\r\n        echo \"[Info] Installing a DNS cache is not recommended on servers.\"\r\n        exit 0\r\n    fi\r\n    # Check that log-queries is enabled in the dnsmasq configuration file\r\n    if ! grep -q \"log-queries\" \/etc\/dnsmasq.conf; then\r\n        echo \"[Warn] The 'log-queries' option is not enabled in the dnsmasq configuration file.\"\r\n        echo \"\"\r\n        echo \"[Info] Supported DNS cache services: systemd-resolved, dnsmasq\"\r\n        echo \"[Info] systemd-resolved commonly installed along with a Desktop Environment.\"\r\n        echo \"[Info] Servers usually do not have a DNS cache service installed by default.\"\r\n        echo \"\"\r\n        echo \"[Info] Installing a DNS cache is not recommended on servers.\"\r\n        exit 0\r\n    fi\r\n    # Get the log-facility from the dnsmasq configuration file\r\n    log_facility=$(grep -E \"^log-facility\" \/etc\/dnsmasq.conf | awk '{print $2}')\r\n    if [[ -z \"${log_facility}\" ]]; then\r\n        echo \"[Warn] The 'log-facility' option is not set in the dnsmasq configuration file.\"\r\n        echo \"\"\r\n        echo \"[Info] Supported DNS cache services: systemd-resolved, dnsmasq\"\r\n        echo \"[Info] systemd-resolved commonly installed along with a Desktop Environment.\"\r\n        echo \"[Info] Servers usually do not have a DNS cache service installed by default.\"\r\n        echo \"\"\r\n        echo \"[Info] Installing a DNS cache is not recommended on servers.\"\r\n        exit 0\r\n    fi\r\n    # Check that log_facility is a valid file\r\n    if [[ ! -f \"${log_facility}\" ]]; then\r\n        echo \"[Error] The log facility file '${log_facility}' does not exist.\"\r\n        echo \"\"\r\n        echo \"[Info] Supported DNS cache services: systemd-resolved, dnsmasq\"\r\n        echo \"[Info] systemd-resolved commonly installed along with a Desktop Environment.\"\r\n        echo \"[Info] Servers usually do not have a DNS cache service installed by default.\"\r\n        echo \"\"\r\n        echo \"[Info] Installing a DNS cache is not recommended on servers.\"\r\n        exit 1\r\n    fi\r\n    # Get the DNS cache entries from log_facility\r\n    # Example log_facility file:\r\n    # Jan  1 00:00:00 dnsmasq[12345]: query[A] example.com from\r\n    for keyword in \"${keywords[@]}\"; do\r\n        # Get the DNS cache entries from the log_facility file\r\n        # The awk command parses the log_facility file and extracts the time, query, and host\r\n        if ! dns_cache_entries=$(grep -i -E \"${keyword}\" \"${log_facility}\" | awk 'BEGIN {OFS = \",\";}$5 == \"query[A]\" {time = mktime(sprintf(\"%04d %02d %02d %s\\n\",strftime(\"%Y\", systime()),(match(\"JanFebMarAprMayJunJulAugSepOctNovDec\",$1)+2)\/3,$2,gensub(\":\", \" \", \"g\", $3)));query = $6;host = $8;print time, host, query;}'); then\r\n            echo \"[Error] Failed to get the DNS cache entries.\"\r\n            echo \"$dns_cache_entries\"\r\n            echo \"\"\r\n            echo \"[Info] Supported DNS cache services: systemd-resolved, dnsmasq\"\r\n            echo \"[Info] systemd-resolved commonly installed along with a Desktop Environment.\"\r\n            echo \"[Info] Servers usually do not have a DNS cache service installed by default.\"\r\n            echo \"\"\r\n            echo \"[Info] Installing a DNS cache is not recommended on servers.\"\r\n            exit 1\r\n        fi\r\n    done\r\n    echo \"$dns_cache_entries\"\r\nfi\r\n\r\n# Set the multiline_custom_field\r\nif [[ -n \"$multiline_custom_field\" ]]; then\r\n    if [[ -x \"$ninjarmm_cli\" ]]; then\r\n        if hideOutput=$(echo \"$dns_cache_entries\" | \"$ninjarmm_cli\" set --stdin \"$multiline_custom_field\" 2&gt;&amp;1); then\r\n            echo \"[Info] Successfully set custom field: $multiline_custom_field\"\r\n        else\r\n            echo \"[Error] Failed to set custom field: $multiline_custom_field. Custom Field does not exist or does not have write permissions.\"\r\n            exit 1\r\n        fi\r\n    else\r\n        echo \"[Error] NinjaRMM CLI not found or not executable\"\r\n        exit 1\r\n    fi\r\nfi<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Accede a m\u00e1s de 300 scripts en el Dojo de NinjaOne<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/es\/prueba-gratuita-formulario\/\">Obt\u00e9n acceso<\/a><\/p>\n<\/div>\n<h2>An\u00e1lisis detallado<\/h2>\n<p>El script est\u00e1 estructurado para manejar diferentes servicios de cach\u00e9 DNS (systemd-resolved y dnsmasq) que pueden estar presentes en un sistema Linux. Aqu\u00ed tienes una explicaci\u00f3n paso a paso de c\u00f3mo funciona el script:<\/p>\n<h3>1. Configuraci\u00f3n de par\u00e1metros:<\/h3>\n<ul>\n<li>El script comienza aceptando dos par\u00e1metros: keywords_to_search y multiline_custom_field.<\/li>\n<li>keywords_to_search es una lista separada por comas de palabras clave que el script utilizar\u00e1 para buscar en las entradas de la cach\u00e9 DNS. El script comprueba si estos par\u00e1metros est\u00e1n configurados y los inicializa en consecuencia.<\/li>\n<\/ul>\n<h3>2. Verificaci\u00f3n del entorno:<\/h3>\n<ul>\n<li>Comprueba si est\u00e1 disponible el comando ninjarmm-cli, necesario para que el script interact\u00fae con la plataforma NinjaOne RMM.<\/li>\n<li>Verifica si el script se ejecuta con privilegios de root, ya que el acceso de root es necesario para consultar las cach\u00e9s DNS.<\/li>\n<\/ul>\n<h3>3. Detecci\u00f3n del servicio de cach\u00e9 DNS:<\/h3>\n<ul>\n<li>El script detecta si systemd-resolved o dnsmasq est\u00e1n instalados y activos en el sistema. Si no se encuentra ninguno de los dos servicios, el script finaliza con un mensaje de error apropiado, informando al usuario de que no hay instalado ning\u00fan servicio de cach\u00e9 DNS compatible.<\/li>\n<\/ul>\n<h3>4. Gestionar systemd-resolved:<\/h3>\n<ul>\n<li>Si se detecta systemd-resolved, el script comprueba la versi\u00f3n de systemd para asegurarse de que soporta el comando show-cache (introducido en la versi\u00f3n 254).<\/li>\n<li>A continuaci\u00f3n, el script consulta la cach\u00e9 DNS mediante resolvectl show-cache y filtra los resultados en funci\u00f3n de las palabras clave proporcionadas.<\/li>\n<\/ul>\n<h3>5. Gesti\u00f3n de dnsmasq:<\/h3>\n<ul>\n<li>Si dnsmasq es detectado, el script verifica la presencia y configuraci\u00f3n del archivo dnsmasq.conf, asegurando que el registro de consultas DNS est\u00e9 habilitado.<\/li>\n<li>A continuaci\u00f3n, busca en el archivo de registro especificado en dnsmasq.conf las consultas DNS que coinciden con las palabras clave proporcionadas.<\/li>\n<\/ul>\n<h3>6. Gesti\u00f3n del output:<\/h3>\n<ul>\n<li>El script recopila y formatea las entradas de la cach\u00e9 DNS que coinciden con las palabras clave.<\/li>\n<li>Si se proporciona el par\u00e1metro multiline_custom_field, el script intenta establecer este campo en NinjaOne RMM utilizando el comando ninjarmm-cli.<\/li>\n<\/ul>\n<h2>Posibles casos de uso<\/h2>\n<p>Imagina un escenario en el que un profesional de TI tiene la tarea de investigar una actividad sospechosa en la red. Observa patrones de tr\u00e1fico inusuales y sospecha que ciertos dominios se consultan con frecuencia.<\/p>\n<p>Con este script, puede buscar r\u00e1pidamente en la cach\u00e9 DNS palabras clave espec\u00edficas (por ejemplo, nombres de dominio sospechosos) y recuperar las entradas pertinentes. Esta informaci\u00f3n puede utilizarse para bloquear estos dominios, ajustar la configuraci\u00f3n del firewall o investigar m\u00e1s a fondo.<\/p>\n<p>Otro escenario podr\u00eda implicar la optimizaci\u00f3n del rendimiento de la red. Un MSP que gestione redes de m\u00faltiples clientes podr\u00eda utilizar este script para identificar los dominios de acceso frecuente almacenados en cach\u00e9 en varios sistemas.<\/p>\n<p>Analizando estas entradas de cach\u00e9, el MSP podr\u00eda recomendar la configuraci\u00f3n de servidores DNS locales o pol\u00edticas de almacenamiento en cach\u00e9 para reducir la latencia y mejorar la experiencia del usuario.<\/p>\n<h2>Comparaciones<\/h2>\n<p>Aunque existen otros m\u00e9todos para buscar entradas de cach\u00e9 DNS en sistemas Linux, como inspeccionar manualmente los archivos de registro o utilizar herramientas como grep en combinaci\u00f3n con los registros del sistema, este script ofrece un enfoque m\u00e1s racionalizado y automatizado.<\/p>\n<p>No s\u00f3lo detecta el servicio de cach\u00e9 DNS adecuado, sino que tambi\u00e9n se encarga de los posibles problemas de configuraci\u00f3n, lo que lo convierte en una opci\u00f3n m\u00e1s f\u00e1cil de usar, especialmente para quienes gestionan varios sistemas.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li><strong>\u00bfQu\u00e9 ocurre si no hay instalado ning\u00fan servicio de cach\u00e9 DNS?<\/strong>\u00a0El script finalizar\u00e1 y mostrar\u00e1 un mensaje indicando que no hay instalado ning\u00fan servicio de cach\u00e9 DNS compatible, recomendando no instalar ninguno en los servidores.<\/li>\n<li><strong>\u00bfSe puede utilizar este script en servidores?<\/strong>\u00a0Aunque t\u00e9cnicamente es posible, en general no se recomienda ejecutar servicios de cach\u00e9 DNS en servidores, como ponen de manifiesto los mensajes de salida del script.<\/li>\n<li><strong>\u00bfPor qu\u00e9 necesito privilegios de root para ejecutar este script?<\/strong>\u00a0El acceso a las entradas de la cach\u00e9 DNS suele requerir permisos elevados, por lo que el script comprueba si se dispone de acceso de root.<\/li>\n<\/ul>\n<h2>Implicaciones<\/h2>\n<p>La capacidad de buscar y analizar entradas de cach\u00e9 DNS tiene implicaciones significativas para la seguridad y el rendimiento de la red. Al identificar y reaccionar r\u00e1pidamente ante consultas de dominio inusuales o maliciosas, los profesionales de TI pueden mitigar las amenazas potenciales antes de que se agraven. Adem\u00e1s, el an\u00e1lisis peri\u00f3dico de la cach\u00e9 DNS puede ayudar a optimizar las configuraciones de red, lo que se traduce en una <a href=\"https:\/\/www.ninjaone.com\/es\/eficiencia\" target=\"_blank\" rel=\"noopener\">mayor eficacia general<\/a>.<\/p>\n<h2>Recomendaciones<\/h2>\n<p>Cuando utilice este script, aseg\u00farate de:<\/p>\n<ul>\n<li>Ejecutarlo con privilegios de root para evitar problemas de permisos.<\/li>\n<li>Comprobar que systemd-resolved o dnsmasq est\u00e1n correctamente configurados en tu sistema.<\/li>\n<li>Actualiza regularmente tu sistema para garantizar la compatibilidad con las \u00faltimas funciones (por ejemplo, systemd versi\u00f3n 254 o superior).<\/li>\n<li>Utilizar palabras clave significativas y relevantes para filtrar eficazmente las entradas de la cach\u00e9 DNS.<\/li>\n<\/ul>\n<h2>Reflexiones finales<\/h2>\n<p>Este script de b\u00fasqueda de cach\u00e9 DNS es una poderosa herramienta para los profesionales de TI, especialmente cuando se integra con la plataforma de gesti\u00f3n de NinjaOne. Al automatizar el proceso de recuperaci\u00f3n y an\u00e1lisis de las entradas de cach\u00e9 DNS, permite una gesti\u00f3n de la red y una supervisi\u00f3n de la seguridad m\u00e1s eficaces. El s\u00f3lido conjunto de herramientas <a href=\"https:\/\/www.ninjaone.com\/es\/\" target=\"_blank\" rel=\"noopener\">de NinjaOne<\/a> puede mejorar a\u00fan m\u00e1s la utilidad de este script, proporcionando soluciones integrales para las tareas de gesti\u00f3n de TI.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4211],"use_cases":[4259],"class_list":["post-374048","script_hub","type-script_hub","status-publish","hentry","script_hub_category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/script_hub\/374048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/comments?post=374048"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media?parent=374048"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/operating_system?post=374048"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/use_cases?post=374048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}