资源简介
用PacketFilterExtensionPtr实现的防火墙

代码片段和文件信息
/*
DrvFltIp.C
Author: your name
Last Updated: 2001-01-01/0101
This framework is generated by QuickSYS.
*/
#include
#include
#include
#include
#include
#include “DrvFltIp.h“
#if DBG
#define dprintf DbgPrint
#else
#define dprintf(x)
#endif
NTSTATUS DrvDispatch(IN PDEVICE_object Deviceobject IN PIRP Irp);
VOID DrvUnload(IN PDRIVER_object Driverobject);
NTSTATUS SetFilterFunction(PacketFilterExtensionPtr filterFunction);
NTSTATUS AddFilterToList(IPFilter *pf);
void ClearFilterList(void);
PF_FORWARD_ACTION cbFilterFunction(IN unsigned char *PacketHeaderIN unsigned char *Packet IN unsigned int PacketLength IN unsigned int RecvInterfaceIndex IN unsigned int SendInterfaceIndex IN unsigned long RecvlinkNextHop IN unsigned long SendlinkNextHop);
#define NT_DEVICE_NAME L“\\Device\\DrvFltIp“
#define DOS_DEVICE_NAME L“\\DosDevices\\DrvFltIp“
struct filterList *first = NULL;
struct filterList *last = NULL;
/*++
Routine Description:
Installable driver initialization entry point.
This entry point is called directly by the I/O system.
Arguments:
Driverobject - pointer to the driver object
RegistryPath - pointer to a unicode string representing the path
to driver-specific key in the registry
Return Value:
STATUS_SUCCESS if successful
STATUS_UNSUCCESSFUL otherwise
--*/
NTSTATUS DriverEntry(IN PDRIVER_object Driverobject IN PUNICODE_STRING RegistryPath)
{
PDEVICE_object deviceobject = NULL;
NTSTATUS ntStatus;
UNICODE_STRING deviceNameUnicodeString;
UNICODE_STRING devicelinkUnicodeString;
dprintf(“DrvFltIp.SYS: entering DriverEntry\n“);
//we have to create the device
RtlInitUnicodeString(&deviceNameUnicodeString NT_DEVICE_NAME);
ntStatus = IoCreateDevice(Driverobject
0
&deviceNameUnicodeString
FILE_DEVICE_DRVFLTIP
0
FALSE
&deviceobject);
if ( NT_SUCCESS(ntStatus) )
{
// Create a symbolic link that Win32 apps can specify to gain access
// to this driver/device
RtlInitUnicodeString(&devicelinkUnicodeString DOS_DEVICE_NAME);
ntStatus = IoCreateSymboliclink(&devicelinkUnicodeString &deviceNameUnicodeString);
if ( !NT_SUCCESS(ntStatus) )
{
dprintf(“DrvFltIp.SYS: IoCreateSymboliclink failed\n“);
}
//
// Create dispatch points for device control create close.
//
Driverobject->MajorFunction[IRP_MJ_CREATE] =
Driverobject->MajorFunction[IRP_MJ_CLOSE] =
Driverobject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DrvDispatch;
Driverobject->DriverUnload = DrvUnload;
}
if ( !NT_SUCCESS(ntStatus) )
{
dprintf(“Error in initia
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2004-06-30 12:42 简单个人防火墙
文件 3957 2002-12-22 01:18 简单个人防火墙\DrvFltIp.sys
目录 0 2004-06-30 12:42 简单个人防火墙\testDrv
目录 0 2004-06-30 12:42 简单个人防火墙\testDrv\res
文件 1078 2002-12-20 22:18 简单个人防火墙\testDrv\res\testDrv.ico
文件 399 2002-12-20 22:18 简单个人防火墙\testDrv\res\testDrv.rc2
文件 731 2002-12-20 23:21 简单个人防火墙\testDrv\resource.h
文件 1161 2002-12-21 14:02 简单个人防火墙\testDrv\sockUtil.cpp
文件 147 2002-12-21 13:40 简单个人防火墙\testDrv\sockutil.h
文件 209 2002-12-20 22:18 简单个人防火墙\testDrv\StdAfx.cpp
文件 1054 2002-12-20 22:18 简单个人防火墙\testDrv\StdAfx.h
文件 14430 2002-12-22 01:22 简单个人防火墙\testDrv\TDriver.cpp
文件 2812 2002-12-19 14:34 简单个人防火墙\testDrv\TDriver.h
文件 1165 2002-12-22 01:24 简单个人防火墙\testDrv\testDrv.clw
文件 2077 2002-12-20 22:18 简单个人防火墙\testDrv\testDrv.cpp
文件 4428 2002-12-22 01:41 简单个人防火墙\testDrv\testDrv.dsp
文件 1335 2002-12-20 22:18 简单个人防火墙\testDrv\testDrv.h
文件 5396 2002-12-22 01:31 简单个人防火墙\testDrv\testDrv.rc
文件 6483 2002-12-22 01:51 简单个人防火墙\testDrv\testDrvDlg.cpp
文件 1528 2002-12-22 01:24 简单个人防火墙\testDrv\testDrvDlg.h
文件 13913 2002-12-22 01:12 简单个人防火墙\DrvFltIp.c
文件 5100 2002-12-22 01:41 简单个人防火墙\DrvFltIp.dsp
文件 740 2002-12-20 22:18 简单个人防火墙\DrvFltIp.dsw
文件 2894 2002-12-21 00:09 简单个人防火墙\DrvFltIp.h
文件 79 2002-12-21 00:47 简单个人防火墙\sources
文件 271 2000-07-26 18:37 简单个人防火墙\makefile
----------- --------- ---------- ----- ----
71387 26
- 上一篇:网路岗第八代8.01.41 900用户完美破解补丁
- 下一篇:8086汇编天平小游戏
相关资源
- 防火墙编程-Visual C 网络通信开发
- C 编写的防火墙程序源代码
- 基于Filter-Hook Driver的个人防火墙
- 耐威网关软件防火墙简易版(附源码
- Hillstone防火墙技术——StoneOS安
- 绿盟下一代防火墙典型部署手册 高清
- juniper 防火墙巡检方案模板
- 某公司PIX 520防火墙系统和NAT的实施
- Cisco PIX 515E防火墙
- Cisco PIX 500系列防火墙产品简介
- Cisco Secure PIX 535防火墙产品简介
- Cisco Secure PIX 515防火墙产品资料
- HP中小企业防火墙产品解决方案
- 山石网科安全网关防火墙SG-6000-X6150技
- 个人防火墙 v3.0 专业版
- 360数据库防火墙产品介绍
- ARP防火墙单机版(64位
- 天融信网络卫士防火墙NGFFW 3000
- 天融信网络卫士防火墙ARES
- HC-ISG系列工业防火墙产品白皮书
- 三零卫士工业防火墙系统技术白皮书
- HCSP 山石防火墙203
- HCSP 山石防火墙202
- HCSP 山石防火墙201
- gns3 pix防火墙 ios
- ASA防火墙实验手册含大量案例
- 启明星辰安全网关USG防火墙操作手册
- Cisco_ASA防火墙图文配置
- Windows防火墙与网络封包截获技术光盘
- 启明星辰防火墙配置手册
评论
共有 条评论