会员名称:  密码:   验证码:     会员注册  忘记密码? 
设为首页
加入收藏
返回首页
媒体资讯>> 业界资讯 - 会展动态 - 竞赛&活动 - IT互联网  媒体学院>> 图形图像 - 网页制作 - 网络编程 - 数据库 - 服务器 - 网络应用  作品赏析>> 视频音响 - CG动画 - UI设计 - 平面设计 - 网页设计 - 摄影映象 - 三维2D - 其它设计  媒体工作室>> 视频影像 - 音频声响 - 三维2D - 平面视觉 - 软硬技术 - 摄影映象  人物访谈>> 人物访谈 - 华夏新锐  媒体杂志>> 媒体杂志  素材图库>> 丽景佳图 - 设计素材 - 资料图库 - 矢量图库 - 动态动画 - 特色图标  酷站赏析>> 韩国网站 - 国外网站 - 国内网站  会员中心>> 会员注册 - 会员登陆
当前位置:华夏媒体 - > 媒体学院 - > 网络应用 - > 网络知识 - > sniffer技术原理及应用(1)
   
   
   
sniffer技术原理及应用(1) sniffer技术原...  [网络...]
More... 
   
网络协议X档案全集(十) 网络协议X档案...  [其它...]
不可忽视的BIOS参数设置 不可忽视的BIO...  [其它...]
微软IE浏览器非常规修改全攻略(上) 微软IE浏览器非...  [其它...]
微软IE浏览器非常规修改全攻略(下) 微软IE浏览器非...  [其它...]
网管十招 网管十招  [其它...]
微软安全问题 源自OS和IE中集成RSS 微软安全问题 ...  [其它...]
修改注册表使电脑更安全 修改注册表使电...  [其它...]
利用注册表管理IP地址 利用注册表管理...  [其它...]
有关IIS HACK的一些方法整理 有关IIS HACK的...  [其它...]
More 
sniffer技术原理及应用(1)
编辑:华夏媒体     作者:未知     来源:网络     时间:2006-07-29     总浏览量:1535
文字大小:[      ]     文字颜色:      双击滚屏/单击停止

[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [下一页] 



computers connected to the internet "
  我们并不知道这项专利的价值,也不知道他是否能用在包过滤上。详情请参阅:http://www.

uspto.gov/patft/index.html
www.pcausa.com

============================================
drvipflt具体解析,就是上面所提到的吧(2-3就是说的这东东)。
假定大家对驱动框架已经有了一定的理解。IRP分配程序如下:
NTSTATUS DrvDispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
...
   switch (irpStack->MajorFunction)
    {
...
    case IRP_MJ_DEVICE_CONTROL:
        ioControlCode = irpStack->Parameters.DeviceIoControl.IoControlCode;

        switch (ioControlCode)
        {
   // ioctl code to start filtering
   //这里可以从用户模式程序发送这样的请求。
   //直接用DeviceIoControl这个函数,就像下面这样调用就可

以了吧,我想。
   

//DeviceIoControl(drivehandle,START_IP_HOOK,NULL,0,NULL,0,&bytereturned,NU

LL)
   case START_IP_HOOK:
   {
   //这个应该是最主要的函数了。
             SetFilterFunction(cbFilterFunction);

    break;
   }

   // ioctl to stop filtering
   case STOP_IP_HOOK:
   {
    SetFilterFunction(NULL);
             
    break;
   }

            // ioctl to add a filter rule
   case ADD_FILTER:
   {
    if(inputBufferLength == sizeof(IPFilter))
    {
     IPFilter *nf;

     nf = (IPFilter *)ioBuffer;
     
     AddFilterToList(nf);
    }

    break;
   }

   // ioctl to free filter rule list
   case CLEAR_FILTER:
   {
    ClearFilterList();

    break;
   }

   default:
    Irp->IoStatus.Status =

STATUS_INVALID_PARAMETER;


    break;
        }

        break;
...
}
SetFilterFunction(cbFilterFunction)可能是最重要的一个程序了。具体如下:
实际上这个做法相当在系统中注册了一个回调函数。
NTSTATUS SetFilterFunction(PacketFilterExtensionPtr filterFunction)
{
NTSTATUS status = STATUS_SUCCESS, waitStatus=STATUS_SUCCESS;
UNICODE_STRING filterName;
PDEVICE_OBJECT ipDeviceObject=NULL;
PFILE_OBJECT ipFileObject=NULL;


[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [下一页] 

打印   收藏   关闭   至顶部  


关于我们 | 联系我们 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 意见建议
版权所有  Copyright © 2005-2006 华夏媒体(Media86.Com). All Rights Reserved .
网站备案号:粤ICP备06055307号