相关文章  
  • 详细介绍Cisco Secure PIX 525防火墙
  • Pix foundation
  • 路由器VS防火墙 ROUTER典型防火墙设置
  • 用NP(网络处理器)设计千兆线速防火墙
  • PIX与VPN client的pre-shared key互连
  • 使用VPN Client 简单的VPN登入PIX
  • 无奇不有 在PC上装Cisco PIX OS
  • 看清选择误区 防火墙选择之我见
  • 配置实例:最简单的VPN登入PIX
  • 简要介绍网络安全中防火墙和IDS的作用
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    基于IMD的包过滤防火墙原理与实现4

    Intel的网卡是用PtReceivePacket来接包。
      
      现在我们知道了哪个函数负责接收数据报,那么我们就可以对这个函数进行修改了。从兼容和通用性考虑,我们需要对PtReceive和PtReceivePacket函数进行修改,其中加上我们需要判断的规则进行过滤,下面就贴详细的代码了。
      
      四、部分演示代码
      
      我们的目的是在调用接受数据报函数的时候能执行我们的过滤代码,所以,我们要在函数代码中添加我们自己的代码,下面用过滤特定协议类型的数据报来做演示。
      
      首先修改PtReceive,看一下protocol.c文件中函数的代码,代码中用NdisGetReceivedPacket函数得到一个PNDIS_PACKET的结构Packet,数据报内容就存放在这个结构中的链表内。我们定义一个PUCHAR结构的pPacketContent,然后用下面的代码获得整个数据报的内容:
      
      //---------------------------------------------
       int PacketSize;
       PUCHAR pPacketContent;
       PUCHAR pBuf;
       UINT BufLength;
       MDL * pNext;
       UINT i;
      
      //把数据包内容从Packet拷贝到pPacketContent
      NdisQueryPacket( Packet,NULL,NULL,NULL,&PacketSize);
      Status= Nd

    页码:[1] [2] [3] [4] [5] [6] [7] [8]4页、共8页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved