Windows Server

Netsh : Una herramienta imprescindible para la configuración y diagnóstico de redes en Windows

I. Presentación

¿Ha intentado alguna vez configurar o solucionar problemas de su red Windows sin utilizar la interfaz gráfica? Si es así, probablemente esté familiarizado con Netsh, una eterna herramienta de línea de comandos a pesar de la existencia de PowerShell.

Presente en los sistemas operativos de Microsoft desde Windows 2000, Netsh permite a los administradores de sistemas y a los usuarios gestionar la red. Los escenarios típicos incluyen la configuración IP, la gestión de tarjetas de red, la administración de cortafuegos y la configuración de conexiones inalámbricas.

El objetivo de esta guía es proporcionarte una lista de comandos útiles basados en Netsh que pueden utilizarse para realizar multitud de tareas. Para facilitar la lectura del artículo, los ejemplos de uso de Netsh se han organizado en varias categorías.

II. Netsh - Configuración de interfaces de red

Esta primera parte del artículo trata sobre la configuración de interfaces de red con Netsh. Todos los comandos se ejecutan en un símbolo del sistema o en una consola PowerShell. Debes tener derechos de "administrador" para modificar la configuración del sistema (al igual que con la interfaz gráfica).

A. Mostrar interfaces de red

Para empezar, veamos cómo listar todas las interfaces de red disponibles en tu máquina Windows. Esto puede ser útil para identificar rápidamente qué interfaces están activas o inactivas.

netsh interface ipv4 show interfaces

Este comando muestra una lista de interfaces de red IPv4 con detalles como estado, tipo e índice.

He aquí un ejemplo:

B. Configuración de una dirección IP estática

Si quieres configurar una dirección IP estática para una interfaz de red y dejar de utilizar DHCP, puedes hacerlo con Netsh.

En este ejemplo, asignamos la dirección IP 192.168.14.128 con una máscara de subred 255.255.255.0 y una pasarela por defecto 192.168.14.2. Además de adaptar la dirección IP y la máscara, sustituimos Ethernet0 por el nombre de su interfaz de red (el comando anterior puede ayudarle a identificar el nombre).

netsh interface ipv4 set address name="Ethernet0" static 192.168.14.128 255.255.255.0 192.168.14.2

Este comando no devuelve ningún resultado en la consola cuando se ejecuta correctamente. La presencia de la palabra clave static es importante, teniendo en cuenta que corresponde a la opción denominada sourcelo que podría dar lugar a source=static en términos de escritura.

C. Configuración de servidores DNS

El comando anterior no define el servidor DNS en la interfaz de red. Por lo tanto, es necesario ejecutar un comando adicional para realizar esta tarea.

En este ejemplo, establecemos el servidor DNS principal en 8.8.8.8 y añadimos un servidor DNS secundario 8.8.4.4.

netsh interface ipv4 set dns name="Ethernet0" static 8.8.8.8
netsh interface ipv4 add dns name="Ethernet0" 8.8.4.4 index=2

Usando estos pocos comandos, hemos llevado a cabo toda la configuración IP usando Netsh.

Puede volver a la configuración DHCP en cualquier momento utilizando estos dos comandos:

netsh interface ipv4 set address name="Ethernet0" dhcp
netsh interface ipv4 set dns name="Ethernet0" dhcp

D. Mostrar configuración TCP/IP

Una vez configurado TCP/IP en la tarjeta de red Ethernet0 mediante los comandos anteriores, puede visualizar la configuración mediante el siguiente comando :

netsh interface ip show config

Es el equivalente a pedir ipconfig pero con un giro netsh.

E. Activación o desactivación de una interfaz de red

Para activar o desactivar una interfaz de red, utilice los siguientes comandos:

netsh interface set interface "Ethernet0" admin=enable
netsh interface set interface "Ethernet0" admin=disable

Estos comandos son útiles para gestionar rápidamente el estado de las interfaces de red desde la línea de comandos. El primer comando se utiliza para activar la interfaz, mientras que el segundo se utiliza para desactivarla.

III. Netsh - Gestión de cortafuegos

Esta segunda parte del artículo está dedicada a la configuración del cortafuegos con Netsh. Esta herramienta contiene muchas opciones que satisfacen esta necesidad, y se puede llegar muy lejos con ella. Es perfectamente capaz de añadir una nueva regla de cortafuegos de Windows. Todos los comandos de Netsh relacionados con la gestión del cortafuegos empiezan por netsh advfirewall.

A. Visualizar las reglas del cortafuegos

Para empezar, vamos a ver las reglas del cortafuegos actualmente configuradas en la máquina local. Ejecute el siguiente comando:

netsh advfirewall firewall show rule name=all

Este comando lista todas las reglas del cortafuegos. Su salida no es muy utilizable ya que hay un gran número de reglas, por lo que es muy verboso.

B. Añadir una nueva regla de cortafuegos

Para añadir una nueva regla que permita el tráfico entrante en un puerto específico, necesitamos apuntar a la opción add rule en Netsh.

En este ejemplo, autorizamos el tráfico entrante en el puerto 23389 (RDP) con una regla llamada Autoriser le Bureau à distance. Esto puede ser útil si desea autorizar el acceso a Escritorio Remoto en un puerto especial (distinto del predeterminado / 3389).

netsh advfirewall firewall add rule name="Autoriser RDP (In-23389)" protocol=TCP dir=in localport=23389 action=allow

A continuación, puede utilizar la interfaz gráfica de Windows para comprobar la presencia de la nueva regla creada con Netsh.

Si su objetivo es permitir el ping, también es posible con algunas adaptaciones.

netsh advfirewall firewall add rule name="Autoriser Ping (In-ICMP)" protocol=icmpv4 dir=in action=allow

C. Desactivación del cortafuegos

Si necesita desactivar el cortafuegos temporalmente, por ejemplo para diagnosticar un problema de acceso, utilice el siguiente comando:

netsh advfirewall set allprofiles state off

No olvides reactivar el cortafuegos después. Basta con sustituir off por on en el comando :

netsh advfirewall set allprofiles state on

Estos comandos, al igual que muchos otros comandos ejecutados a través de Netsh, simplemente devuelven un valor Ok.

D. Bloqueo de una dirección IP

Para bloquear todo el tráfico entrante procedente de una dirección IP específica (y sospechosa), puede añadir una regla de denegación al cortafuegos. El ejemplo siguiente crea una regla para bloquear la dirección IP 192.168.14.200 :

netsh advfirewall firewall add rule name="Bloquer adresse IP suspecte" protocol=any dir=in interface=any action=block remoteip=192.168.14.200

Esta regla también será visible en la interfaz gráfica de Windows.

IV. Netsh - Configuración de Wi-Fi

Netsh es muy útil para manipular redes Wi-Fi en una máquina Windows, sobre todo para visualizar la configuración actual, pero no sólo eso... Es posible exportar perfiles Wi-Fi en formato XML, lo que también ofrece la oportunidad de realizar la operación contraria: la importación.

Para saber más, lea este artículo:

A. Mostrar las redes Wi-Fi disponibles

Para listar las redes inalámbricas disponibles, utilice el siguiente comando:

netsh wlan show networks

Este comando muestra una lista de redes Wi-Fi dentro del alcance, con detalles como el SSID y el tipo de seguridad.

Nota : si ejecutas este comando en Windows 11, debes habilitar los servicios de localización (Configuración > Privacidad y seguridad > Localización), de lo contrario este comando no funcionará correctamente.

B. Mostrar redes Wi-Fi conocidas

También puede listar las redes Wi-Fi conocidas por su máquina, es decir, aquellas con las que ya ha establecido una conexión o las impulsadas por el administrador (a través de un GPO u otro sistema).

netsh wlan show profiles

Incluso puede obtener información precisa sobre un perfil concreto. En este caso, nos dirigimos al perfil denominado FLOBOX.

netsh wlan show profiles name="FLOBOX"

He aquí un extracto del resultado:

Añadiendo un parámetro adicional, puede incluso mostrar la clave de seguridad en texto claro. Por ejemplo :

netsh wlan show profile name="FLOBOX" key=clear

También puedes ver la configuración de tu tarjeta de red inalámbrica:

netsh wlan show drivers

C. Conexión a una red Wi-Fi

Para conectarse a una red inalámbrica, utilice el siguiente comando:

netsh wlan connect name="MonWiFi"

Sustituir MonWiFi el SSID de la red a la que desea conectarse. Su máquina debe conocer ya este SSID, es decir, debe figurar en la lista de perfiles guardados.

Si no es el caso, primero debe exportar un archivo de configuración desde una máquina que conozca la red. El siguiente ejemplo muestra cómo exportar la información de conexión de red FLOBOX. El archivo XML de salida se almacenará en C:ExportWiFi y contendrá la clave de seguridad en texto plano.

netsh wlan export profile name="FLOBOX" folder="C:ExportWiFi" key=clear

A continuación, importe este archivo en la máquina que vaya a conectarse a él:

netsh wlan add profile filename="C:ImportWiFiWi-Fi-FLOBOX.xml"

A continuación, será posible establecer una conexión con la red Wi-Fi.

V. Netsh - Solución de problemas de red

En Windows, Netsh es una herramienta esencial para solucionar problemas de red. Proporciona acceso a algunos comandos muy útiles para trabajar en la pila de red de Windows. Estos incluyen comandos para restablecer los componentes de red.

A. Reinicio de la pila TCP/IP

Si tienes problemas de red, reiniciar la pila TCP/IP puede resolver algunos problemas. Especialmente cuando empiezas a dar vueltas en círculos, porque todos tus otros intentos de reparar el problema han quedado en nada... En este caso, puedes intentar usar el siguiente comando:

netsh int ip reset

Después de ejecutar este comando, reinicie su PC para aplicar los cambios. Puede que esto resuelva tu problema. También debes tener en cuenta que la configuración IP y DNS se restablecerá a los valores por defecto. Así que si tenías configurada una dirección IP estática, ¡se borrará! La tarjeta de red se configurará en DHCP (asignación automática).

Además de este comando, si tienes problemas de conectividad, deberías probar este otro:

netsh winsock reset

Este comando, que requiere un reinicio, devuelve el siguiente resultado:

Le catalogue Winsock a été réinitialisé correctement.
Vous devez redémarrer l’ordinateur afin de finaliser la réinitialisation.

La orden netsh winsock reset restablece el catálogo Winsock, que gestiona las conexiones de red en Windows. Puede utilizarse para corregir problemas de conexión a Internet causados por la corrupción de sockets. Esto puede ocurrir, por ejemplo, tras desinstalar software vinculado a la red informática.

B. Restablecer la configuración del cortafuegos

Del mismo modo que con el comando anterior, puede hacer lo mismo con el cortafuegos de Windows Defender. Para restablecer la configuración del cortafuegos a los valores predeterminados, utilice el siguiente comando:

netsh advfirewall reset

Esto eliminará todas las reglas personalizadas, ya que el cortafuegos volverá a su estado original. Una vez más, esto puede ser útil en determinados contextos (restablecimiento de la configuración, por ejemplo).

C. Mostrar estadísticas de red

Cuando diagnostiques un problema de red y haya pérdida de paquetes, puedes utilizar Netsh para obtener información más precisa. Gracias al ipstatsPuede obtener estadísticas detalladas sobre el uso de la red. Esto incluye información sobre paquetes rechazados, fragmentos incorrectos, etc... Así como los flujos globales.

netsh interface ipv4 show ipstats

He aquí un ejemplo:

D. Solucion de problemas de red con Netsh trace

netsh trace es una forma de utilizar Netsh para capturar paquetes de red según diferentes escenarios predefinidos. A diferencia de herramientas como Wireshark, puede utilizarse de forma nativa, ya que Netsh está integrado en Windows. La buena noticia es que el archivo de salida generado por Netsh será legible por Wireshark (y otros programas).

Puedes listar todos los escenarios disponibles con el siguiente comando:

netsh trace show scenarios

Hay 18, que puede ver en la imagen inferior.

Si tienes un problema de conexión a la red, que es el contexto de esta parte del artículo, lo primero que hay que ver es el escenario NetConnection. El guión InternetClient también es relevante, ya que captura eventos relacionados con el acceso a Internet, incluyendo DNS, TCP y HTTP.

Puede realizar un análisis del siguiente modo:

netsh trace start scenario=NetConnection capture=yes tracefile=C:TEMPNetshNetConnection.etl

Aquí, la traza se registrará en el C:\TEMP\NetshNetConnection.etl en el ordenador local. Se ejecutará en segundo plano y serás tú quien deba detenerla. Por lo tanto, debe reproducir su problema de red y detener la captura de esta forma:

netsh trace stop

Una vez que Netsh ha recopilado toda la información, puede acceder al archivo ETL. Sin embargo, Wireshark no puede leerlo de forma nativa. Necesitas convertirlo a formato PCAP. La herramienta etl2pcapng disponible en GitHub puede ayudarte con esta conversión:

.\etl2pcapng.exe NetshNetConnection.etl NetshNetConnection.pcapng

El expediente NetshNetConnection.pcapng ¡puede leerse utilizando Wireshark! Esto le permitirá realizar el análisis desde otra máquina.

E. Diagnosticando problemas Wi-Fi con Netsh

Por último, echemos otro vistazo a las opciones disponibles en la función netsh wlan y, más concretamente, ¡la funcionalidad de generación de informes integrada en la herramienta! El comando que descubrirás aquí genera un informe detallado sobre el estado del Wi-Fi en las últimas 24 horas. Este periodo puede personalizarse para adaptarlo a sus necesidades.

Este informe HTML incluye información sobre conexiones y desconexiones Wi-Fi, errores de red, eventos del sistema relacionados con Wi-Fi y rendimiento general. En otras palabras, verá el historial Wi-Fi de la máquina durante los últimos X días. El archivo de salida se generará en el formato C:\ProgramData\Microsoft\Windows\WlanReport.

netsh wlan show wlanreport duration=1

Una vez recopilada la información, puede abrir el informe resultante : C:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.html.

La cabecera del informe muestra un gráfico con las sesiones Wi-Fi y los principales eventos.

Si te desplazas hacia abajo, obtendrás información detallada, incluido un informe para cada sesión Wi-Fi. Obtendrás el nombre de la red, la duración de la sesión y todos los eventos relacionados. También se destacan los errores y anomalías. He aquí un ejemplo:

Esta es una de las mejores características de la herramienta Netsh. Y, sin embargo, es relativamente desconocida.

VI. Conclusión

Esta guía de iniciación a Netsh está llegando a su fin. Los distintos comandos y sus contextos de uso comentados en este artículo ilustran todo el potencial de esta herramienta, que tiene la gran ventaja de estar directamente integrada en Windows.

¿Qué opina de Netsh? ¿Conoces otros usos para Netsh? No dudes en comentar este artículo.

author avatar
Florian Burnel Co-founder of IT-Connect
Systems and network engineer, co-founder of IT-Connect and Microsoft MVP "Cloud and Datacenter Management". I'd like to share my experience and discoveries through my articles. I'm a generalist with a particular interest in Microsoft solutions and scripting. Enjoy your reading.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.