다음을 통해 공유


ADDRESSTABLE 필터 부분 작성

주소 필터는 네트워크 모니터 드라이버에 지정된 다양한 MAC 주소 유형(이더넷, 토큰 링 및 FDDI) 중 하나가 있는 프레임을 허용하도록 알립니다. 최대 8개의 주소 쌍을 지정할 수 있습니다. 주소 쌍은 원본, 대상, 둘 다 또는 둘 다를 지정할 수 없습니다.

필터의 주소 부분은 ADDRESSTABLEADDRESSPAIR의 두 구조로 구성됩니다.

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개의 주소 쌍을 포함할 수 있습니다.