ADDRESSTABLE フィルター部分の書き込み
アドレス フィルターは、さまざまな MAC アドレスの種類 (イーサネット、トークン リング、FDDI) のいずれかを持つフレームを受け入れるようにネットワーク モニター ドライバーに通知します。 最大 8 つのアドレス ペアを指定できます。 アドレス ペアでは、ソース、宛先、両方、またはどちらも指定できません。
フィルターのアドレス部分は、 ADDRESSTABLE と ADDRESSPAIR の 2 つの構造体で構成されます。
NO アドレスを指定すると、すべてのフレームがアドレス フィルターを渡します。 ただし、アドレスを指定した場合は、指定されたアドレス フィルターを渡すフレームのみが渡されます。
アドレス フィルターを構築するには、 ADDRESSTABLE 構造体を割り当て、 ADDRESSPAIR 構造体のメンバーを入力する必要があります。
キャプチャ フィルターのアドレス部分を作成するには
CAPTUREFILTER 構造体の CAPTUREFILTER_FLAGS_LOCAL_ONLY フラグを使用して、キャプチャをローカル コンピューターとの間のトラフィックに制限します。
このフラグを設定すると、NIC は無差別モードに設定されません。キャプチャ ファイルでは、ローカル トラフィックのみがキャプチャされます。
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;
次の表に示す情報を使用して、 ADDRESSPAIR フラグの種類を選択します。
フラグ 説明 ADDRESS_FLAGS_MATCH_DST 宛先アドレスと一致します。 ADDRESS_FLAGS_MATCH_SRC ソース アドレスと一致します ADDRESS_FLAGS_EXCLUDE このアドレス (定義された送信元または宛先) が見つかった場合は、フレームを除外します。 ADDRESS_FLAGS_DST_GROUP_ADDR ブロードキャストの種類のメッセージに対してのみグループ ビット (宛先アドレスの) と一致します。 ADDRESS_FLAGS_MATCH_BOTH 宛先アドレスと送信元アドレスの両方に一致します。 宛先アドレスを入力します。これは、選択した ADDRESSPAIR フラグに対して評価されます。
ソース アドレスを入力します。これは、選択した ADDRESSPAIR フラグに対して評価されます。
ADDRESSTABLE 構造体に ADDRESSPAIR 構造体の配列を設定します。これには、ドライバーが評価するアドレス ペアが含まれます。 すべてのアドレス ペアは論理 OR ステートメントとして評価されます (ADDRESSPAIR 1 ||ADDRESSPAIR 2)。 キャプチャ フィルターには、最大 8 つのアドレス ペアを含めることができます。