资源简介
用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汇编天平小游戏
相关资源
- u盘病毒防火墙
- cisco PIX防火墙密码恢复文件np70.bin
- 虚拟机模拟防火墙专用工具--piped
- 锐捷防火墙web登陆
- 防火墙的核心技术及工作原理
- 一个简单的防火墙程序
- 网神 防火墙 虚拟机
- 山石防火墙模拟器
- 一种基于Windows 平台的个人防火墙的设
- H3C Secpath1000f系列防火墙产品规格
- H3C SecPath高端防火墙NAT典型配置举例
- H3C SecPath 500F系列防火墙产品规格
- H3C SecPath F100系列防火墙产品功能特性
- H3C Secpath1000f系列防火墙应用方案
- H3C SecPath高端防火墙入侵检测典型配置
- H3C SecPath F100系列防火墙产品系统
- Openstack中防火墙和安全组的区别
- windows防火墙程序
- 联想网御防火墙管理证书
- 联想网御最新证书及替换方法
- 天融信防火墙MIB库
- 华为防火墙 USG6300 zabbix模版
- 深信服MIB库
- 网神防火墙管理员登陆证书
- 天融信防火墙NGFW4000快速配置手册
- H3C 防火墙产品 Web典型配置案例集(
- linux 防火墙的设计与实现
- windows防火墙-自动防御脚本
- WindowsFirewall.diagcab
- SRX防火墙策略控制域名访问
评论
共有 条评论