KD 接続サーバーのアクティブ化
Windows 用デバッグ ツールに含まれている KD 接続サーバーは KdSrv (kdsrv.exe) と呼ばれます。 KD 接続サーバーをアクティブにするには、管理者特権でのコマンド プロンプト ウィンドウ (管理者として実行) を開き、kdsrv コマンド
注 管理者特権を持たずに KD 接続サーバーをアクティブ化でき、デバッグ クライアントはサーバーに接続できます。 ただし、管理者特権でアクティブ化されていない限り、クライアントは KD 接続サーバーを検出できません。 デバッグ サーバーを検出する方法については、「KD 接続サーバーの検索を参照してください。
大事な
リモート デバッグを使用する場合は、セキュリティに関する重要な考慮事項があります。 セキュア モードの有効化に関する情報を含む詳細については、「Security During Remote Debugging」および「Security Considerations for Windows Debugging Tools」を参照してください。
KdSrv では、名前付きパイプ (NPIPE)、TCP、COM ポート、セキュア パイプ (SPIPE)、Secure Sockets Layer (SSL) など、複数のトランスポート プロトコルがサポートされています。
KdSrv コマンド ラインの構文は、使用されるプロトコルによって異なります。 次のオプションがあります。
推奨される接続方法と、いくつかの追加のセキュリティ
kdsrv -t spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password]
kdsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password]
kdsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password]
セキュリティで保護されていない接続方法の を
kdsrv -t npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
kdsrv -t tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable]
kdsrv -t tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6]
kdsrv -t com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
パラメーター
前のコマンドのパラメーターには、次の値を指定できます。
pipe=PipeName
NPIPE または SPIPE プロトコルを使用する場合、PipeName はパイプの名前として機能する文字列です。 各パイプ名は、一意のプロセス サーバーを識別する必要があります。 パイプ名を再利用しようとすると、エラー メッセージが表示されます。
PipeName には、スペースまたは引用符を含めることはできません。
PipeName には、%x や %dなどの数値 printfスタイルの書式コードを含めることができます。 これは KdSrv のプロセス ID に置き換えられます。 2 つ目のコードは KdSrv のスレッド ID に置き換えられます。
port=ソケット
TCP または SSL プロトコルを使用する場合、ソケット はソケット ポート番号です。
コロンで区切ってポートの範囲を指定することもできます。 KdSrv は、この範囲内の各ポートをチェックして、空きがあるかどうかを確認します。 空きポートが検出され、エラーが発生しない場合は、KD 接続サーバーが作成されます。 スマート クライアントは、サーバーへの接続に使用される実際のポートを指定する必要があります。 実際のポートを確認するには、「KD 接続サーバーの検索で説明されているいずれかの方法を使用します。この KD 接続サーバーが表示されると、ポートの後にコロンで区切られた 2 つの番号が続きます。 最初の番号は実際に使用されるポートです。2 番目の値は無視できます。 たとえば、ポートが port=51:60として指定され、ポート 53 が実際に使用された場合、検索結果には "port=53:60" と表示されます。 (clicon パラメーターを使用して逆接続を確立する場合、スマート クライアントは、この方法でポートの範囲を指定できますが、KD 接続サーバーは実際に使用するポートを指定する必要があります)。
clicon=クライアント
TCP または SSL プロトコルを使用し、clicon パラメーターを指定すると、リバース接続 が開きます。 つまり、KD 接続サーバーは、クライアントが連絡先を開始するのではなく、スマート クライアントに接続しようとします。 これは、通常の方向の接続を妨げているファイアウォールがある場合に役立ちます。
クライアント は、スマート クライアントが存在するか作成されるコンピューターのネットワーク名または IP アドレスを指定します。 2 つの最初の円記号 (\) は省略可能です。
KD 接続サーバーは 1 つの特定のクライアントを探しているため、この方法を使用する場合、複数のクライアントをサーバーに接続することはできません。 接続が拒否された場合、または切断された場合は、プロセス サーバーを再起動する必要があります。 他のユーザーが -QR コマンドライン オプションを使用してすべてのアクティブ サーバーを表示する場合、逆接続 KD 接続サーバーは表示されません。
port=COMPort
COM プロトコルを使用する場合、COMPort は、使用する COM ポートを指定します。 プレフィックス "COM" は省略可能です。たとえば、"com2" と "2" の両方を使用できます。
ボー=BaudRate
COM プロトコルを使用する場合、BaudRate は、接続を実行するボー レートを指定します。 ハードウェアでサポートされているボー レートは許可されます。
channel=COMChannel
COM プロトコルを使用する場合、COMChannel は、デバッグ クライアントとの通信に使用する COM チャネルを指定します。 これには、0 ~ 254 の任意の値を指定できます。 異なるチャネル番号を使用して、複数の接続に 1 つの COM ポートを使用できます。 (これは、デバッグ ケーブルに COM ポートを使用する場合とは異なります。このような状況では、COM ポート内でチャネルを使用することはできません)。
proto=プロトコル
SSL または SPIPE プロトコルを使用する場合、プロトコル は、セキュア チャネル (S チャネル) プロトコルを指定します。 これには、tls1、pct1、ssl2、または ssl3 のいずれかの文字列を指定できます。
証明書 の
SSL または SPIPE プロトコルを使用する場合は、証明書
非表示の を
他のユーザーが -QR コマンドライン オプションを使用してすべてのアクティブ なサーバーを表示するときに、KD 接続サーバーが表示されないようにします。
password=Password
KD 接続サーバーに接続するには、スマート クライアントが指定したパスワードを指定する必要があります。
パスワード には、最大 12 文字の任意の英数字文字列を使用できます。
大事な
TCP、NPIPE、または COM プロトコルでパスワードを使用すると、パスワードが暗号化されないため、保護の量はごくわずかです。 SSL または SPIPE プロトコルと共にパスワードを使用すると、パスワードが暗号化されます。 より安全なリモート セッションを確立する場合は、SSL または SPIPE プロトコルを使用する必要があります。
ipversion=6
(Windows 6.6.07 以前のデバッグ ツールのみ)TCP を使用してインターネットに接続するときに、デバッガーでバージョン 4 ではなく IP バージョン 6 を使用するように強制します。 Windows Vista 以降のバージョンでは、デバッガーは IP バージョン 6 の自動既定値を試み、このオプションを不要にします。
IcfEnable の
インターネット接続ファイアウォールがアクティブな場合に、デバッガーで TCP または名前付きパイプ通信に必要なポート接続を有効にします。 既定では、インターネット接続ファイアウォールは、これらのプロトコルで使用されるポートを無効にします。 TCP 接続 IcfEnable を使用すると、デバッガーによって、Socket パラメーターで指定されたポートが Windows によって開きます。 名前付きパイプ接続 IcfEnable を使用すると、デバッガーによって、名前付きパイプに使用されるポート (ポート 139 および 445) が Windows によって開きます。 デバッガーは、接続が終了した後にこれらのポートを閉じません。