Share via


OID_GEN_CURRENT_PACKET_FILTER

쿼리로 OID_GEN_CURRENT_PACKET_FILTER OID는 미니포트 드라이버에서 수신 표시에 있는 순 패킷 유형을 보고합니다.

집합으로 OID_GEN_CURRENT_PACKET_FILTER OID는 프로토콜이 미니포트 드라이버에서 표시를 수신하는 순 패킷 유형을 지정합니다.

버전 정보

Windows Vista 이상 버전의 Windows
지원됩니다.

NDIS 6.0 이상 미니포트 드라이버
필수. (설명 섹션 참조)

NDIS 5.1 미니포트 드라이버
필수.

Windows XP
지원됩니다.

NDIS 5.1 미니포트 드라이버
필수.

설명

NDIS 6.0 이상 미니포트 드라이버의 경우 쿼리가 요청되지 않으며 집합이 필수입니다. NDIS는 미니포트 드라이버에 대한 쿼리를 처리합니다. 미니포트 드라이버는 초기화 중에 패킷 필터 정보를 보고합니다.

미니포트 드라이버는 해당 중간 형식을 시스템에서 필터 라이브러리를 제공하는 형식으로 보고합니다. 패킷 필터는 OR 연산을 사용하여 다음 형식을 포괄적으로 결합합니다.

NDIS_PACKET_TYPE_DIRECTED
지시된 패킷. 지시된 패킷에는 NIC의 스테이션 주소와 동일한 대상 주소가 포함됩니다.

NDIS_PACKET_TYPE_MULTICAST
멀티캐스트 주소 목록의 주소로 전송되는 멀티캐스트 주소 패킷입니다.

프로토콜 드라이버는 멀티캐스트 또는 기능 주소 패킷 유형을 지정하여 이더넷(802.3) 멀티캐스트 패킷을 받을 수 있습니다. 멀티캐스트 주소 목록 또는 기능 주소를 설정하면 NIC 드라이버에서 사용하도록 설정하는 멀티캐스트 주소 그룹이 결정됩니다.

NDIS_PACKET_TYPE_ALL_MULTICAST
멀티캐스트 주소 목록에 열거된 패킷뿐만 아니라 모든 멀티캐스트 주소 패킷입니다.

NDIS_PACKET_TYPE_BROADCAST
패킷 브로드캐스트.

NDIS_PACKET_TYPE_PROMISCUOUS
VLAN 필터링을 사용할지 여부와 VLAN 식별자가 일치하는지 여부에 관계없이 모든 패킷을 지정합니다.

NDIS_PACKET_TYPE_ALL_FUNCTIONAL
현재 기능 주소의 패킷뿐만 아니라 모든 기능 주소 패킷입니다.

NDIS_PACKET_TYPE_ALL_LOCAL
설치된 프로토콜에서 보낸 모든 패킷 및 지정된 NdisBindingHandle 로 식별되는 NIC로 표시된 모든 패킷.

NDIS_PACKET_TYPE_FUNCTIONAL
현재 기능 주소에 포함된 주소로 전송되는 기능 주소 패킷입니다.

NDIS_PACKET_TYPE_GROUP
현재 그룹 주소로 전송된 패킷입니다.

NDIS_PACKET_TYPE_MAC_FRAME
토큰 링 NIC가 수신하는 NIC 드라이버 프레임입니다.

NDIS_PACKET_TYPE_SMT
FDDI NIC가 수신하는 SMT 패킷입니다.

NDIS_PACKET_TYPE_SOURCE_ROUTING
모든 원본 라우팅 패킷. 프로토콜 드라이버가 이 비트를 설정하는 경우 NDIS 라이브러리는 원본 라우팅 브리지 역할을 시도합니다.

미디어 유형이 NdisMedium802_3 또는 NdisMedium802_5 미니포트 어댑터의 경우 NDIS 는 NdisOpenAdapterEx 함수를 호출하는 동안 멀티캐스트 및 기능 주소와 함께 패킷 수신을 사용하지 않도록 설정합니다.

다른 모든 미디어 유형이 있는 미니포트 어댑터의 경우 프로토콜 드라이버는 NdisOpenAdapterEx 호출 중에 언제든지 패킷 수신을 시작할 수 있습니다. 프로토콜은 NdisOpenAdapterEx 가 반환되기 전에 패킷을 받을 수도 있습니다. 일반적으로 패킷 필터링은 최상의 작업이며 프로토콜 드라이버는 패킷 필터가 0인 경우에도 수신 표시를 처리할 수 있도록 준비해야 합니다.

쿼리의 경우 NDIS는 OR 연산자를 사용하여 결합된 바인딩 필터를 반환합니다.

집합의 경우 지정된 패킷 필터는 바인딩에 대한 이전 패킷 필터를 대체합니다. 미니포트 드라이버가 이전에 패킷 형식을 사용하도록 설정했지만 프로토콜 드라이버가 새 필터에서 해당 형식을 지정하지 않은 경우 프로토콜 드라이버는 이 유형의 패킷을 받지 않습니다.

미디어 형식이 NdisMedium802_3 또는 NdisMedium802_5 미니포트 어댑터의 경우 미니포트 드라이버가 이 쿼리에 대한 응답으로 특정 패킷 형식에 대해 비트를 설정하지 않으면 프로토콜 드라이버는 해당 유형의 패킷을 받지 않습니다. 따라서 프로토콜 드라이버는 0 필터를 사용하여 NdisOidRequest 또는 NdisCoOidRequest 함수를 호출하여 패킷 수신을 사용하지 않도록 설정할 수 있습니다.

다른 모든 미디어 형식의 미니포트 어댑터의 경우 NDIS는 패킷 유형을 검사 않습니다. 이러한 미디어 형식의 경우 프로토콜 드라이버는 0 필터를 지정하여 패킷 수신을 사용하지 않도록 설정할 수 없습니다.

미니포트 드라이버의 MiniportInitializeEx 함수가 호출되면 미니포트 드라이버의 패킷 필터를 0으로 설정해야 합니다. 패킷 필터가 0이면 수신 표시가 비활성화됩니다. 미니포트 드라이버의 MiniportInitializeEx 함수가 반환된 후 프로토콜 드라이버는 OID_GEN_CURRENT_PACKET_FILTER 0이 아닌 값으로 설정하여 미니포트 드라이버가 해당 프로토콜에 수신된 패킷을 나타낼 수 있도록 할 수 있습니다.

NDIS_PACKET_TYPE_PROMISCUOUS 비트에서 무차별 모드를 사용하도록 설정한 경우 프로토콜 드라이버는 전송 네트워크 노드가 패킷을 전달하지 않더라도 패킷을 계속 받습니다. 그런 다음 NDIS는 NIC가 수신하는 모든 패킷을 프로토콜 드라이버에 보냅니다.

특정 패킷 필터를 설정해도 동일한 NIC에 바인딩된 다른 프로토콜 드라이버의 패킷 필터는 변경되지 않습니다. 예를 들어 한 바인딩된 프로토콜이 무차별 모드를 사용하도록 설정하는 경우 다른 바인딩된 프로토콜 드라이버는 자체 패킷 필터로 특별히 요청하지 않은 패킷을 받지 않습니다.

네이티브 802.11 패킷 필터

Native 802.11 미니포트 드라이버는 다음 표준 패킷 필터 유형만 지원해야 합니다.

  • NDIS_PACKET_TYPE_DIRECTED

  • NDIS_PACKET_TYPE_MULTICAST

  • NDIS_PACKET_TYPE_BROADCAST

  • NDIS_PACKET_TYPE_PROMISCUOUS

사용하도록 설정하면 이러한 표준 패킷 필터는 802.11 데이터 패킷에만 적용됩니다.

또한 Native 802.11 미니포트 드라이버는 Native 802.11 미디어와 관련된 다음 패킷 필터 유형을 지원해야 합니다.

NDIS_PACKET_TYPE_802_11_RAW_DATA
802.11 스테이션에서 받은 형식의 모든 데이터를 포함하는 802.11 MAC(미디어 액세스 제어) MPDU(프로토콜 데이터 단위) 프레임입니다. 이 필터가 설정되면 드라이버는 MPDU 조각에서 다시 어셈블된 MAC MSDU(서비스 데이터 단위) 패킷을 나타내기 전에 수정되지 않은 모든 MPDU 조각을 나타내야 합니다.

MPDU 조각이 암호화된 경우 조각이 표시되기 전에 암호를 해독해서는 안 됩니다. 그러나 미니포트 드라이버는 MSDU 패킷을 다시 어셈블하고 표시하기 전에 각 MPDU 조각의 암호를 해독해야 합니다.

사용하도록 설정된 경우 이 필터 형식은 NDIS_PACKET_TYPE_DIRECTED 또는 NDIS_PACKET_TYPE_BROADCAST 같은 다른 표준 패킷 필터에만 영향을 줍니다.

원시 802.11 데이터 패킷을 나타내는 방법에 대한 자세한 내용은 원시 802.11 패킷 표시를 참조하세요.

NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT
802.11 관리 패킷을 지시했습니다. 지시된 패킷에는 NIC의 스테이션 주소와 동일한 대상 주소가 포함됩니다.

NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT
멀티캐스트 주소 목록의 주소로 전송되는 멀티캐스트 802.11 관리 패킷입니다.

NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT
802.11 MAC 헤더의 대상 주소가 멀티캐스트 주소 목록에 있는지 여부에 관계없이 802.11 스테이션에서 받은 모든 멀티캐스트 802.11 관리 패킷입니다.

NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT
802.11 스테이션에서 수신한 802.11 관리 패킷을 브로드캐스트합니다.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT
802.11 스테이션에서 받은 모든 802.11 관리 패킷.

NDIS_PACKET_TYPE_802_11_RAW_MGMT
802.11 MPDU 관리 프레임으로, 802.11 스테이션에서 받은 형식의 모든 데이터를 포함합니다. 이 필터가 설정되면 드라이버는 MPDU 조각에서 다시 조립된 MAC MMPDU(관리 프로토콜 데이터 단위) 패킷을 나타내기 전에 수정되지 않은 모든 MPDU 조각을 표시해야 합니다.

사용하도록 설정된 경우 이 필터 형식은 NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT 또는 NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT 같은 다른 802.11 관리 패킷 필터에만 영향을 줍니다.

원시 802.11 관리 패킷을 나타내는 방법에 대한 자세한 내용은 원시 802.11 패킷 표시를 참조하세요.

NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL
802.11 제어 패킷을 지시했습니다. 지시된 패킷에는 NIC의 스테이션 주소와 동일한 대상 주소가 포함됩니다.

NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL
802.11 스테이션에서 수신한 제어 패킷 802.11을 브로드캐스트합니다.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL
802.11 스테이션에서 받은 모든 802.11 컨트롤 패킷

미니포트 드라이버가 네이티브 802.11 네트워크 모니터(NetMon) 또는 AP(확장 가능 액세스 지점) 모드에서 작동하는 경우 드라이버는 OID_GEN_CURRENT_PACKET_FILTER 설정된 요청을 통해 다음 패킷 필터를 사용하도록 설정해야 합니다.

  • NDIS_PACKET_TYPE_PROMISCUOUS

  • NDIS_PACKET_TYPE_802_11_RAW_DATA

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT

  • NDIS_PACKET_TYPE_802_11_RAW_MGMT

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL

NetMon 이외의 다른 네이티브 802.11 모드에서 작동하는 미니포트 드라이버는 NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL 제외하고 이러한 패킷 필터 설정을 사용하도록 설정해서는 안 됩니다. NetMon 모드에서 작동하지 않는 미니포트 드라이버는 필요에 따라 OID_GEN_CURRENT_PACKET_FILTER 설정된 요청을 통해 NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL 사용하도록 설정할 수 있습니다.

참고 미니포트 드라이버가 NetMon 이외의 네이티브 802.11 모드에 있고 OID_GEN_CURRENT_PACKET_FILTER 설정된 경우 OID 데이터에서 무차별 또는 원시 필터 설정이 사용하도록 설정된 경우 드라이버가 설정 요청에 실패하지 않아야 합니다.

NetMon 및 ExtAP 운영 모드에 대한 자세한 내용은 다음 topics 참조하세요.

네트워크 모니터 작업 모드

확장 가능한 액세스 지점 작업 모드

요구 사항

헤더

Ntddndis.h(Ndis.h 포함)

추가 정보

MiniportInitializeEx

NdisCoOidRequest

NdisOidRequest

NdisOpenAdapterEx