Freigeben über


Aktivieren eines Repeaters

Um die Wiederholerverbindung zu aktivieren, starten Sie normalerweise zuerst den Server, und starten Sie dann den Repeater, und starten Sie dann den Client.

Es ist auch möglich, den Repeater zuerst und dann den Server zu starten. Es sei denn, Sie verwenden den clicon Parameter, um eine Reverseverbindung herzustellen, muss der Client immer zuletzt gestartet werden.

Wichtig

Bei der Verwendung des Remotedebuggings gibt es wichtige Sicherheitsaspekte. Weitere Informationen, einschließlich Informationen zum Aktivieren des sicheren Modus, finden Sie unter Sicherheit beim Remotedebugging und Sicherheitsüberlegungen für Windows-Debuggingtools.

Schritt 1: Starten des Servers

Der Server kann ein Debugserver, ein Prozessserver oder ein KD-Verbindungsserver sein. Sie beginnen dies wie gewohnt, mit der Ausnahme, dass die Transportprotokolleinstellungen verwendet werden, um eine Verbindung mit dem Repeater herzustellen, nicht mit dem Client. Ausführliche Informationen finden Sie unter Aktivieren eines Debugservers, Aktivieren eines Prozessserversoder Aktivieren eines KD-Verbindungsservers.

Wenn Sie beim Erstellen des Servers ein Kennwort verwenden, ist dieses Kennwort erforderlich, wenn der Client anfügt, aber nicht, wenn der Repeater erstellt wird.

Wenn Sie den ausgeblendeten Parameter verwenden, wird der Server wie gewohnt ausgeblendet. Der Repeater selbst ist immer ausgeblendet.

Schritt 2: Starten des Repeaters

Der Repeater, der in den Debugtools für Windows enthalten ist, heißt DbEngPrx (dbengprx.exe).

DbEngPrx versteht die folgenden Transportprotokolle: named pipe (NPIPE), TCP und COM-Port.

Wenn Ihr Client und Server ssl-Protokoll (Secure Sockets Layer) verwenden, sollten Sie das TCP-Protokoll für den Repeater verwenden. Wenn Ihr Client und Server das Secure Pipe (SPIPE)-Protokoll verwenden, sollten Sie das NPIPE-Protokoll für den Repeater verwenden. Der Repeater übergibt alle empfangenen Daten – es interpretiert, verschlüsselt oder entschlüsselt keine Informationen. Die gesamte Verschlüsselung und Entschlüsselung erfolgt durch den Client und den Server.

Die Syntax für die DbEnPrx-Befehlszeile lautet wie folgt:

dbengprx [-p] -cClientTransport-sServerTransport-

Die Parameter in den vorherigen Befehlen weisen die folgenden möglichen Werte auf:

-p
Bewirkt, dass DbEngPrx auch nach dem Ablegen aller Verbindungen weiterhin vorhanden ist.

ClientTransport-
Gibt die Protokolleinstellungen an, die beim Herstellen einer Verbindung mit dem Server verwendet werden sollen. Das Protokoll sollte übereinstimmen, das beim Erstellen des Servers verwendet wurde. Die Protokollsyntaxen sind wie folgt:

npipe:server=Server,pipe=PipeName[,password=Password] 
tcp:server=Server,port=Socket[,password=Password][,ipversion=6] 
tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] 
com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] 

Die Protokollparameter haben die folgenden Bedeutungen:

Server-
Dies ist der Netzwerkname oder die IP-Adresse des Computers, auf dem der Server erstellt wurde. Die beiden anfänglichen Schrägstriche (\) sind optional.

pipe=PipeName
Wenn NPIPE- oder SPIPE-Protokoll verwendet wird, ist PipeName der Name, der der Pipe beim Erstellen des Servers zugewiesen wurde.

Port=Socket-
Wenn TCP- oder SSL-Protokoll verwendet wird, ist Socket- die gleiche Socketportnummer, die beim Erstellen des Servers verwendet wurde.

clicon
Gibt an, dass der Server versucht, über eine Reverseverbindung eine Verbindung mit dem Repeater herzustellen. ClientTransport- müssen clicon verwenden, wenn und nur, wenn der Server cliconverwendet. In den meisten Fällen wird der Repeater vor dem Server gestartet, wenn eine Reverseverbindung verwendet wird.

port=COMPort-
Wenn COM-Protokoll verwendet wird, gibt COMPort- den zu verwendenden COM-Port an. Das Präfix "COM" ist optional , z. B. sind sowohl "com2" als auch "2" zulässig.

baud=BaudRate
Wenn das COM-Protokoll verwendet wird, sollte BaudRate- mit der bei der Erstellung des Servers gewählten Baudrate übereinstimmen.

Channel=COMChannel
Wenn COM-Protokoll verwendet wird, sollte COMChannel- mit der Kanalnummer übereinstimmen, die beim Erstellen des Servers ausgewählt wurde.

password=Password
Wenn beim Erstellen des Servers ein Kennwort verwendet wurde, müssen Kennwort- angegeben werden, um den Debugclient zu erstellen. Es muss mit dem ursprünglichen Kennwort übereinstimmen. Bei Kennwörtern wird zwischen Groß- und Kleinschreibung unterschieden. Wenn das falsche Kennwort angegeben wird, gibt die Fehlermeldung "Fehler 0x80004005" an.

ipversion=6
(Nur Debugtools für Windows 6.6.07 und frühere Versionen) Erzwingt, dass der Debugger IP-Version 6 anstelle von Version 4 verwendet, wenn TCP zum Herstellen einer Internetverbindung verwendet wird. In Windows Vista und höheren Versionen versucht der Debugger, die IP-Standardversion 6 automatisch zu verwenden, wodurch diese Option unnötig ist.

ServerTransport
Gibt die Protokolleinstellungen an, die verwendet werden, wenn der Client eine Verbindung mit dem Repeater herstellt. Die möglichen Protokollsyntaxen sind:

npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 
tcp:port=Socket[,hidden][,password=Password][,IcfEnable] 
tcp:port=Socket,clicon=Client[,password=Password] 
com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] 

Die Protokollparameter haben die folgenden Bedeutungen:

pipe=PipeName
Wenn NPIPE- oder SPIPE-Protokoll verwendet wird, ist PipeName- eine Zeichenfolge, die als Name der Pipe dient. Jeder Pipename sollte einen eindeutigen Repeater identifizieren. Wenn Sie versuchen, einen Pipenamen wiederzuverwenden, wird eine Fehlermeldung angezeigt. PipeName- dürfen keine Leerzeichen oder Anführungszeichen enthalten. PipeName- kann einen numerischen printf-style formatcode enthalten, z. B. %x oder %d. Der Repeater ersetzt dies durch die Prozess-ID von DbEngPrx. Ein zweiter solcher Code wird durch die Thread-ID von DbEngPrx ersetzt.

Port=Socket-
Wenn TCP- oder SSL-Protokoll verwendet wird, ist Socket- die Nummer des Socketports.

Es ist auch möglich, einen durch einen Doppelpunkt getrennten Portbereich anzugeben. DbEngPrx überprüft jeden Port in diesem Bereich, um festzustellen, ob er kostenlos ist. Wenn ein kostenloser Port gefunden wird und kein Fehler auftritt, wird der Repeater erstellt. Der Client muss den tatsächlichen Port angeben, der zum Herstellen einer Verbindung mit dem Repeater verwendet wird. Um den tatsächlichen Port zu ermitteln, suchen Sie nach dem Repeater; Wenn dieser Repeater angezeigt wird, folgt der Port zwei Nummern, die durch einen Doppelpunkt getrennt sind. Die erste Nummer wird als tatsächlicher Port verwendet; die zweite kann ignoriert werden. Wenn der Port beispielsweise als port=51:60angegeben wurde und Port 53 tatsächlich verwendet wurde, werden in den Suchergebnissen "port=53:60" angezeigt. (Wenn Sie den parameter clicon verwenden, um eine Reverseverbindung herzustellen, kann der Client einen Bereich von Ports auf diese Weise angeben, während der Repeater den tatsächlich verwendeten Port angeben muss.)

clicon=Client-
Wenn TCP- oder SSL-Protokoll verwendet wird und der clicon Parameter angegeben wird, wird eine reverse connection geöffnet. Dies bedeutet, dass der Repeater versucht, eine Verbindung mit dem Client herzustellen, anstatt dem Client das Initiieren des Kontakts zu erlauben. Dies kann hilfreich sein, wenn Sie über eine Firewall verfügen, die eine Verbindung in die übliche Richtung verhindert. Client- gibt den Netzwerknamen oder die IP-Adresse des Computers an, auf dem der Client vorhanden ist oder erstellt wird. Die beiden anfänglichen Schrägstriche (\) sind optional.

Da der Repeater nach einem bestimmten Client sucht, können Sie nicht mehrere Clients mit dem Repeater verbinden, wenn Sie diese Methode verwenden. Wenn die Verbindung verweigert oder unterbrochen wird, müssen Sie den Repeater neu starten.

Wenn Clicon- verwendet wird, empfiehlt es sich, den Client zu starten, bevor der Repeater erstellt wird, obwohl auch die übliche Reihenfolge (Repeater vor Client) zulässig ist.

port=COMPort-
Wenn COM-Protokoll verwendet wird, gibt COMPort- den zu verwendenden COM-Port an. Das Präfix "COM" ist optional , z. B. sind sowohl "com2" als auch "2" zulässig. Sie können nicht denselben COM-Port im ClientTransport- und dem ServerTransport-verwenden.

baud=BaudRate
Wenn das COM-Protokoll verwendet wird, gibt BaudRate die Baudrate an, mit der die Verbindung ausgeführt wird. Jede Baudrate, die von der Hardware unterstützt wird, ist zulässig. Wenn Sie sowohl im ClientTransport- als auch im ServerTransport- verwenden, können Sie unterschiedliche Baudraten angeben, aber natürlich ist die langsamere Rate die Beschränkung, wie schnell der Client und der Server miteinander kommunizieren können.

Channel=COMChannel
Wenn COM-Protokoll verwendet wird, gibt COMChannel- den COM-Kanal an, der für die Kommunikation mit dem Client verwendet werden soll. Dies kann ein beliebiger Wert zwischen 0 und 254 (einschließlich) sein. Sie können einen einzelnen COM-Port für mehrere Verbindungen mit unterschiedlichen Kanalnummern verwenden. (Dies unterscheidet sich von der Verwendung eines COM-Ports für ein Debugkabel - in dieser Situation können Sie keine Kanäle innerhalb eines COM-Ports verwenden.)

ausgeblendeten
Verhindert, dass der Server angezeigt wird, wenn ein anderer Debugger alle aktiven Server anzeigt.

password=Password
Erfordert, dass ein Client das angegebene Kennwort angeben muss, um eine Verbindung mit der Debugsitzung herzustellen. Kennwort kann eine beliebige alphanumerische Zeichenfolge sein.

IcfEnable
Bewirkt, dass der Debugger die erforderlichen Portverbindungen für DIE TCP- oder benannte Pipe-Kommunikation aktiviert, wenn die Internetverbindungsfirewall aktiv ist. Standardmäßig deaktiviert die Internetverbindungsfirewall die ports, die von diesen Protokollen verwendet werden. Wenn IcfEnable mit einer TCP-Verbindung verwendet wird, bewirkt der Debugger, dass Windows den durch den parameter Socket angegebenen Port öffnet. Wenn IcfEnable mit einer benannten Pipeverbindung verwendet wird, öffnet der Debugger Windows die Ports für benannte Rohre (Ports 139 und 445). Der Debugger schließt diese Ports nicht, nachdem die Verbindung beendet wurde.

Schritt 3: Starten des Clients

Der Client sollte ein Debugclient oder ein smarter Client sein – je nachdem, was Ihrem Servertyp entspricht. Ausführliche Informationen finden Sie unter Aktivieren eines Debugclients, Aktivieren eines Smart Client-oder Aktivieren eines Smart Client (Kernelmodus).

Wenn der Server die Verbindung ablehnt (z. B. wenn Sie ein falsches Kennwort angeben), wird der Repeater und der Client heruntergefahren. Sie müssen beide neu starten, um den Kontakt mit dem Server wiederherzustellen.