Condividi tramite


Scrittura della parte del filtro ADDRESSTABLE

Il filtro degli indirizzi notifica al driver monitoraggio di rete di accettare fotogrammi con uno dei 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, entrambi o nessuno dei due.

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

Se si specificano indirizzi NO, TUTTI i fotogrammi passeranno il filtro degli indirizzi. Tuttavia, se si specificano indirizzi, verranno passati solo i frame che passano il filtro di indirizzi specificato.

La compilazione del filtro degli indirizzi comporta l'allocazione di una struttura ADDRESSTABLE e il riempimento 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 verso e dal computer locale.

    L'impostazione di questo flag non imposta la scheda di interfaccia di rete su modalità promiscua; il file di acquisizione acquisisce solo il traffico locale.

  2. Usare il codice di esempio seguente 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 .

    Flag Significato
    ADDRESS_FLAGS_MATCH_DST Corrisponde a un indirizzo di destinazione.
    ADDRESS_FLAGS_MATCH_SRC Corrisponde a un indirizzo di origine
    ADDRESS_FLAGS_EXCLUDE Esclude il frame se questo indirizzo viene trovato (un'origine o una destinazione definita).
    ADDRESS_FLAGS_DST_GROUP_ADDR Corrisponde al bit del gruppo (dell'indirizzo di destinazione) solo per i messaggi di tipo broadcast.
    ADDRESS_FLAGS_MATCH_BOTH Corrisponde sia agli indirizzi di destinazione che di origine.

     

  4. Compilare un indirizzo di destinazione, valutato rispetto al flag ADDRESSPAIR selezionato.

  5. Compilare un indirizzo di origine, valutato rispetto 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 istruzione OR logica (ADDRESSPAIR 1 || ADDRESSPAIR 2). È possibile includere un massimo di otto coppie di indirizzi in un filtro di acquisizione.