次の方法で共有


ADDRESSTABLE フィルター部分の書き込み

アドレス フィルターは、さまざまな MAC アドレスの種類 (イーサネット、トークン リング、FDDI) のいずれかを持つフレームを受け入れるようにネットワーク モニター ドライバーに通知します。 最大 8 つのアドレス ペアを指定できます。 アドレス ペアでは、ソース、宛先、両方、またはどちらも指定できません。

フィルターのアドレス部分は、 ADDRESSTABLEADDRESSPAIR の 2 つの構造体で構成されます。

NO アドレスを指定すると、すべてのフレームがアドレス フィルターを渡します。 ただし、アドレスを指定した場合は、指定されたアドレス フィルターを渡すフレームのみが渡されます。

アドレス フィルターを構築するには、 ADDRESSTABLE 構造体を割り当て、 ADDRESSPAIR 構造体のメンバーを入力する必要があります。

キャプチャ フィルターのアドレス部分を作成するには

  1. CAPTUREFILTER 構造体の CAPTUREFILTER_FLAGS_LOCAL_ONLY フラグを使用して、キャプチャをローカル コンピューターとの間のトラフィックに制限します。

    このフラグを設定すると、NIC は無差別モードに設定されません。キャプチャ ファイルでは、ローカル トラフィックのみがキャプチャされます。

  2. ADDRESSTABLE 構造体を定義するには、次のコード例を使用します。

    typedef struct _ADDRESSTABLE
    {
        DWORD           nAddressPairs;
        DWORD           nNonMacAddressPairs;
        ADDRESSPAIR     AddressPair[MAX_ADDRESS_PAIRS];
    } ADDRESSTABLE;
    
    typedef ADDRESSTABLE *LPADDRESSTABLE;
    
    typedef struct _ADDRESSPAIR
    {
        WORD        AddressFlags;
        WORD        NalReserved;
        ADDRESS     DstAddress;
        ADDRESS     SrcAddress;
    } ADDRESSPAIR;
    
    typedef ADDRESSPAIR *LPADDRESSPAIR;
    
  3. 次の表に示す情報を使用して、 ADDRESSPAIR フラグの種類を選択します。

    フラグ 説明
    ADDRESS_FLAGS_MATCH_DST 宛先アドレスと一致します。
    ADDRESS_FLAGS_MATCH_SRC ソース アドレスと一致します
    ADDRESS_FLAGS_EXCLUDE このアドレス (定義された送信元または宛先) が見つかった場合は、フレームを除外します。
    ADDRESS_FLAGS_DST_GROUP_ADDR ブロードキャストの種類のメッセージに対してのみグループ ビット (宛先アドレスの) と一致します。
    ADDRESS_FLAGS_MATCH_BOTH 宛先アドレスと送信元アドレスの両方に一致します。

     

  4. 宛先アドレスを入力します。これは、選択した ADDRESSPAIR フラグに対して評価されます。

  5. ソース アドレスを入力します。これは、選択した ADDRESSPAIR フラグに対して評価されます。

  6. ADDRESSTABLE 構造体に ADDRESSPAIR 構造体の配列を設定します。これには、ドライバーが評価するアドレス ペアが含まれます。 すべてのアドレス ペアは論理 OR ステートメントとして評価されます (ADDRESSPAIR 1 ||ADDRESSPAIR 2)。 キャプチャ フィルターには、最大 8 つのアドレス ペアを含めることができます。