次の方法で共有


!ndiskd.netpacket

!ndiskd.netpacket 拡張機能は、NET_PACKET構造体に関する情報を表示します。

ネットワーク アダプター WDF クラス拡張機能 (NetAdapterCx) の詳細については、「 ネットワーク アダプター WDF クラス拡張 (Cx)」を参照してください。

!ndiskd.netpacket -handle <x> [-basic] [-layout] [-checksum] [-data]

パラメーター

-ハンドル
必須。 NET_PACKETのアドレス。

-基本的な
基本情報を表示します。

-レイアウト
パケット プロトコルのレイアウトを表示します。

-チェックサム
パケット チェックサム情報を表示します。

-データ
ペイロード メモリをダンプします。

DLL

Ndiskd.dll

例示

手記 NetAdapterCx 内の他のオブジェクト とNET_PACKET オブジェクトの関係を説明する図を表示するには、オブジェクトの概要を参照してください。

NET_PACKETのハンドルを取得するには、次の手順に従います。

  1. !ndiskd.netadapter 拡張機能を実行します。
  2. NetAdapterCx ドライバーがインストールされている NetAdapter のハンドルをクリックします。
  3. NetAdapter の NETADAPTER オブジェクトの右側にある [詳細情報] リンクをクリックして 、!ndiskd.cxadapter 拡張機能を実行します。
  4. NETADAPTER のデータパス キューを確認するには、-datapath パラメーターを指定して !ndiskd.cxadapter コマンドを入力します。
  5. いずれかのデータパス キューのハンドルをクリックします。
  6. そのデータパス キューのリング バッファーのハンドルをクリックします。
  7. リング バッファーの詳細の下部にある [List all elements]\(すべての要素を一覧表示する\) リンクをクリックして、含まれている要素を確認します。

この手順の手順 1 から 4 の詳細については、 !ndiskd.cxadapter トピックの例を参照してください。 この手順の手順 5 の詳細については、 !ndiskd.netqueue トピックの例を参照してください。 この手順の手順 6 から 7 の詳細については、 !ndiskd.netrb トピックの例を参照してください。 次の例では、最初のNET_PACKET ffffd1022d000040 のハンドルを探します。

0: kd> !ndiskd.netrb ffffd1022d000000 -dump

    [000] ffffd1022d000040 - NET_PACKET
    [001] ffffd1022d0000c0 - NET_PACKET
    [002] ffffd1022d000140 - NET_PACKET
    [003] ffffd1022d0001c0 - NET_PACKET
    [004] ffffd1022d000240 - NET_PACKET
    [005] ffffd1022d0002c0 - NET_PACKET
    
    ...

    [07b] ffffd1022d003dc0 - NET_PACKET
    [07c] ffffd1022d003e40 - NET_PACKET
    [07d] ffffd1022d003ec0 - NET_PACKET
    [07e] ffffd1022d003f40 - NET_PACKET
    [07f] ffffd1022d003fc0 - NET_PACKET

このNET_PACKETのハンドルをクリックするか、コマンド ラインで !ndiskd.netpacket -handle を入力すると、このNET_PACKETの詳細 (リング バッファーを含むリング バッファー、リング バッファーを含むデータパス キュー、最初のフラグメントのハンドルなど) を確認できます。

0: kd> !ndiskd.netpacket ffffd1022d000040


    NET_PACKET         ffffd1022d000040    Ring Buffer        ffffd1022d000000
    First fragment     ffffd1022d000040    NETTXQUEUE         ffffd1022f512700

    Client Context     ffffd1022d000090

    Show protocol layout
    Show checksum information
    Dump data payload

基本的な説明を他の !ndiskd.netpacket パラメーターのいずれか、またはそのすべてと組み合わせて、このフラグメントの特定の情報を表示できるようになりました。 次の例では、すべてのパラメーターを使用します。

0: kd> !ndiskd.netpacket ffffd1022d000040 -basic -layout -checksum -data

    NET_PACKET         ffffd1022d000040    Ring Buffer        ffffd1022d000000
    First fragment     ffffd1022d000040    NETTXQUEUE         ffffd1022f512700

    Client Context     ffffd1022d000090


    Protocol Layout                                                             

    Layer 2 Type       ETHERNET
    Header Length      0n14

    Layer 3 Type       IPV4_NO_OPTIONS
    Header Length      0n20

    Layer 4 Type       UDP
    Header Length      8


    Checksum Information                                                        

    Layer 2            TX_PASSTHROUGH
    Layer 3            TX_REQUIRED
    Layer 4            TX_PASSTHROUGH


    Payload data                                                                

    Fragment           ffffd1022d000040
    ffffd102303e8332  00 00 01 02 71 68 0a 89-be 39 e0 00 00 16 94 04  ····qh···9······
    ffffd102303e8342  00 00 22 00 fa 01 00 00-00 01 03 00 00 00 e0 00  ··"·············
    ffffd102303e8352  00 fc   

こちらも参照ください

ネットワーク ドライバー設計ガイド)

Windows Vista 以降のネットワーク リファレンス

ネットワーク スタックのデバッグ

NDIS 拡張機能 (Ndiskd.dll)

!ndiskd.help

ネットワーク アダプター WDF クラス拡張機能 (Cx)

オブジェクトの概要

NET_PACKET

!ndiskd.netadapter

!ndiskd.cxadapter

!ndiskd.netqueue

!ndiskd.netrb