Guía de la utilidad Netsh: seguimiento y más

Introducción

Ofrece una breve descripción general de la utilidad Netsh y su importancia en la gestión de redes. Destaca sus características clave, como la compatibilidad con scripts, la ejecución remota y las capacidades de solución de problemas.



Optimización del contenido

1. ¿Qué es la utilidad Netsh?

Netsh (Network Shell) es una potente herramienta de línea de comandos de Windows para configurar y solucionar problemas de la configuración de red. Interactúa con los componentes del sistema mediante bibliotecas de vínculos dinámicos (DLL) y admite varios contextos como advfirewall, wlan, y winhttp.

2. Sintaxis general de los comandos de Netsh

netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [Domain\]UserName] [-p Password|*] [Command | -f ScriptFile]

Explica brevemente los parámetros de sintaxis, destacando sus casos de uso.

3. Análisis en profundidad del seguimiento con Netsh

Recopilar seguimientos:
Usa el contexto netsh trace para capturar eventos y paquetes de red con fines de diagnóstico.

  • Comando para mostrar escenarios:
netsh trace show scenarios
  • Para mostrar los proveedores de un escenario específico:
netsh trace show scenario <Scenario name>

Parámetros importantes:
Detalla los parámetros clave, como scenario, capture, report, persistent, traceFile, etc., con ejemplos.

Comandos de seguimiento comunes:

  • Iniciar el seguimiento:
netsh trace start scenario=InternetClient capture=yes tracefile=C:\temp\trace.etl
  • Detener el seguimiento:
netsh trace stop

Opciones avanzadas:
Proporciona ejemplos avanzados de seguimiento con opciones como maxsize, filemode, y overwrite.

Convertir ETL a CAP:
Explica cómo convertir archivos ETL para usarlos en herramientas como Wireshark:

netsh trace convert input=trace.etl output=trace.cap


4. Filtrar capturas de red con Netsh

Filtros básicos:
Destaca los filtros de uso común, como:

  • Capturar el tráfico hacia/desde una dirección IPv4 específica:
IPv4.Address == x.x.x.x

Filtros específicos de protocolo:

  • Capturar tráfico DNS:
DNS

Filtros avanzados:
Ofrece ejemplos como la captura de paquetes de negociación TCP:

TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0


5. Contextos y casos de uso clave de Netsh

Configuración de IP:

  • Establecer una IP estática:
netsh interface ip set address "Ethernet" static 10.0.0.5 255.255.255.0 10.0.0.1

Restablecer Winsock y la pila TCP/IP:

  • Restablecer la pila TCP/IP:
netsh int ip reset

Operar el firewall:

  • Añadir una regla de firewall:
netsh advfirewall firewall add rule name="Allow Ping" dir=in action=allow protocol=icmpv4

Configurar el proxy de WinHTTP:

  • Establecer el proxy:
netsh winhttp set proxy "proxy:8080" "<local>"

Filtros de netmon de uso común para analizar capturas de red:

Filtros básicos

FiltroPropósito
IPv4.Address == x.x.x.xCaptura el tráfico hacia/desde una dirección IPv4 específica.
IPv4.SourceAddress == x.x.x.xFiltra el tráfico procedente de una IP de origen específica.
IPv4.DestinationAddress == x.x.x.xFiltra el tráfico dirigido a una IP de destino específica.
IPv6.Address == xxxx::xxxxFiltra el tráfico IPv6 hacia/desde una dirección específica.
TCP.Port == 80Captura el tráfico en un puerto TCP específico (p. ej., 80 para HTTP).
UDP.Port == 53Captura el tráfico en un puerto UDP específico (p. ej., 53 para DNS).

Filtros específicos de protocolo

FiltroProtocoloDescripción
DNSDNSCaptura consultas y respuestas DNS.
HTTPHTTPCaptura el tráfico HTTP (se puede filtrar aún más por métodos).
TCPTCPCaptura todo el tráfico TCP.
UDPUDPCaptura todo el tráfico UDP.
SMB2SMBCaptura el tráfico de uso compartido de archivos SMBv2.
KerberosKerberosCaptura paquetes de autenticación Kerberos.
LDAPLDAPCaptura consultas/respuestas LDAP.

Filtros de conversación

FiltroPropósito
IPv4.SourceAddress == x.x.x.x AND IPv4.DestinationAddress == y.y.y.yFiltra el tráfico entre dos hosts específicos.
TCP.SourcePort == 12345 AND TCP.DestinationPort == 80Filtra una sesión cliente-servidor específica.

Filtros de capa de aplicación

FiltroEjemplo
HTTP.Request.Method == “GET”Captura solo solicitudes GET.
HTTP.Host == “example.com”Filtra el tráfico HTTP dirigido a un dominio específico.
DNS.QryName == “example.com”Filtra las consultas DNS de un dominio específico.
SMB2.CreateRequest.FileName == “filename.txt”Captura el acceso a archivos en el tráfico SMB.

Filtros avanzados

FiltroPropósito
TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0Captura paquetes SYN (inicio de la negociación TCP).
TCP.Flags.FIN == 1Captura paquetes FIN (fin de la sesión TCP).
TCP.Flags.Reset == 1Captura paquetes RST de TCP (restablecimientos de conexión).
Frame.Length > 1000Captura solo paquetes de más de 1000 bytes.

Contextos y caso de uso clave de Netsh

Establecer la configuración de IP

netsh interface ip set address “Ethernet” static 10.0.0.5 255.255.255.0 10.0.0.1
netsh interface ip set dns “Ethernet” static 1.1.1.1
netsh interface ip set address “Ethernet” dhcp

Restablecer Winsock y la pila TCP/IP

netsh int ip reset
netsh winsock reset

Operar el firewall

netsh advfirewall firewall add rule name=”Allow Ping” dir=in action=allow protocol=icmpv4
netsh advfirewall firewall add rule name=”Allow RDP” dir=in action=allow protocol=TCP localport=3389

netsh advfirewall set allprofiles state on
netsh advfirewall export “C:\\backup\\fwconfig.wfw”

Proxy de WinHTTP

netsh winhttp show proxy
netsh winhttp set proxy “proxy:8080” “<local>”
netsh winhttp reset proxy


6. Conclusión

Resume la versatilidad de Netsh como herramienta de gestión y solución de problemas de red. Anima a los lectores a explorar más contextos y comandos usando documentación oficial de Microsoft.

Deja un comentario