Condividi tramite


Scrittura della parte del filtro ADDRESSTABLE

Il filtro degli indirizzi notifica al driver di Monitoraggio di rete di accettare fotogrammi con uno dei diversi tipi di indirizzi MAC specificati (Ethernet, Token Ring e FDDI). È possibile specificare un massimo di otto coppie di indirizzi. Una coppia di indirizzi può specificare un'origine, una destinazione, entrambe o nessuna delle due.

La parte dell'indirizzo del filtro è costituita da due strutture: ADDRESSTABLE e ADDRESSPAIR.

Se non si specificano indirizzi, tutti i frame passeranno il filtro degli indirizzi. Tuttavia, se si specificano indirizzi, verranno passati solo i fotogrammi che superano il filtro di indirizzi specificato.

La compilazione del filtro degli indirizzi comporta l'allocazione di una struttura ADDRESSTABLE e la compilazione dei membri della struttura ADDRESSPAIR.

Per compilare la parte dell'indirizzo di un filtro di acquisizione

  1. Usare il flag CAPTUREFILTER_FLAGS_LOCAL_ONLY della struttura CAPTUREFILTER per limitare l'acquisizione al traffico da e verso il tuo computer locale.

    Impostando questo flag non si imposta la NIC in modalità promiscua; il file di acquisizione catturerà solo il traffico locale.

  2. Usare il seguente codice di esempio per definire la struttura 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. Usare le informazioni elencate nella tabella seguente per selezionare un tipo di flag ADDRESSPAIR.

    Bandiera Significato
    INDIRIZZO_FLAG_CORRISPONDE_DST Corrisponde a un indirizzo di destinazione.
    Indirizzi_Flag_Corrispondono_Sorgente Corrisponde a un indirizzo di origine
    BANDIERE_INDIRIZZO_ESCLUDI Esclude il frame se questo indirizzo viene trovato (origine o destinazione definita).
    ADDRESS_FLAGS_DST_GROUP_ADDR Corrisponde al bit del gruppo (dell'indirizzo di destinazione) solo per i messaggi di tipo broadcast.
    BANDIERE_INDIRIZZO_COINCIDONO_ENTRAMBI Corrisponde sia agli indirizzi di destinazione che a quello di origine.

     

  4. Immettere un indirizzo di destinazione, che viene valutato in base al flag ADDRESSPAIR selezionato.

  5. Immettere un indirizzo di origine, che viene valutato in base al flag ADDRESSPAIR selezionato.

  6. Popolare la struttura ADDRESSTABLE con una matrice di strutture ADDRESSPAIR , che include le coppie di indirizzi valutate dal driver. Tutte le coppie di indirizzi vengono valutate come un'istruzione OR logica (ADDRESSPAIR 1 || ADDRESSPAIR 2). È possibile includere un massimo di otto coppie di indirizzi in un filtro di acquisizione.