Compartir a través de


Ejemplos de cliente y servidor

Supongamos que una persona está ejecutando una aplicación en un equipo denominado \\BOX17. Esta aplicación tiene problemas, pero el técnico de depuración está en otro sitio.

La primera persona configura un servidor de depuración mediante CDB en \\BOX17. La aplicación de destino tiene un identificador de proceso de 122. Se elige el protocolo TCP, con un número de puerto de socket de 1025. El servidor se inicia escribiendo el siguiente comando en una ventana del símbolo del sistema con privilegios elevados (ejecutar como administrador):

E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122

En el otro equipo, el técnico decide usar WinDbg como cliente de depuración. Se puede iniciar con este comando:

G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025

Aquí tiene otro ejemplo. En este caso, se elige el protocolo NPIPE y se usa CDB en lugar de WinDbg. El primer usuario elige un nombre de canalización. Puede ser cualquier cadena alfanumérica: en este ejemplo, "MainPipe". El primer usuario abre una ventana del símbolo del sistema con privilegios elevados (ejecutar como administrador) e inicia un servidor de depuración escribiendo este comando:

E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe 

El técnico ha iniciado sesión en el equipo cliente con una cuenta que no tiene acceso al equipo servidor. Pero el técnico conoce el nombre de usuario y la contraseña de una cuenta que tiene acceso al equipo servidor. El nombre de usuario de esa cuenta es Contoso. El técnico escribe el siguiente comando:

net use \\BOX17\ipc$ /user:Contoso

Cuando se le solicite, el técnico escribe la contraseña de la cuenta de Contoso.

El técnico no está seguro de qué nombre se usó para la canalización con nombre, por lo que consultan BOX17 para los servidores de depuración disponibles.

G:\Debugging Tools> cdb -QR \\BOX17
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe

Se muestran dos canalizaciones. Sin embargo, solo uno es un servidor de depuración: el otro es un servidor de procesos y no estamos interesados en ello. Por lo tanto , MainPipe debe ser el nombre correcto. El técnico usa el siguiente comando para iniciar el cliente de depuración:

G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe 

Uso de un servidor seguro

Este es un ejemplo de un servidor seguro. Este servidor usa la capa de sockets seguros con un protocolo S-Channel de TLS1. El depurador buscará el certificado en el almacén de máquinas. El certificado se especifica mediante su huella digital hexadecimal.

D:\> cdb -server "ssl:proto=tls1,machuser=ab 38 f7 ae 13 20 ac da 05 14 65 60 30 83 7b 83 09 2c d2 34,port=1234" notepad.exe