zoukankan      html  css  js  c++  java
  • 内核中设置混杂模式(NDIS_PACKET_TYPE_PROMISCUOUS)

    在passthru中

    MPSetInformation添加以下代码

    if( Oid == OID_GEN_CURRENT_PACKET_FILTER && InformationBufferLength >= sizeof(ULONG) )
      {

                。。。。。。。

         *(ULONG*)InformationBuffer |= NDIS_PACKET_TYPE_PROMISCUOUS;       

                。。。。。。。。。

       }

    。。。。。。。。。。。。。

    NdisRequest(&Status,
         pAdapt->BindingHandle,
         &pAdapt->Request);

    以上为简便做法

    下面是用ioctrl来设置

    //设置为混杂模式
        RtlZeroMemory(&pAdapt->Request, sizeof(NDIS_REQUEST));
        pAdapt->PACKET_FILTER=NDIS_PACKET_TYPE_PROMISCUOUS | NDIS_PACKET_TYPE_DIRECTED |NDIS_PACKET_TYPE_MULTICAST |NDIS_PACKET_TYPE_BROADCAST;
        pAdapt->Request.RequestType=NdisRequestSetInformation;//设置请求命令
        pAdapt->Request.DATA.SET_INFORMATION.Oid = OID_GEN_CURRENT_PACKET_FILTER;
        pAdapt->Request.DATA.SET_INFORMATION.InformationBuffer = &pAdapt->PACKET_FILTER;
        pAdapt->Request.DATA.SET_INFORMATION.InformationBufferLength = sizeof(pAdapt->PACKET_FILTER);
        
        NdisRequest(&status,pAdapt->BindingHandle,&pAdapt->Request);//发送请求  

  • 相关阅读:
    Android_项目文件结构目录分析
    WPF_MVVM 开发的几种模式讨论
    Blend_技巧篇_淡入淡出
    Blend_技巧篇_导入PSD文件制作ToggleButton (Z)
    Blend_界面快速入门(Z)
    Blend_软件系列简介(Z)
    Blend_ControlTemplate(Z)
    803. 区间合并
    P4017 最大食物链计数
    P1113 杂务
  • 原文地址:https://www.cnblogs.com/ahuo/p/1493288.html
Copyright © 2011-2022 走看看