• 大小: 19.53MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-07-03
  • 语言: 其他
  • 标签:

资源简介

网络防火墙就是一个位于计算机和它所连接的网络之间的软件。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。 这里首先论述了各种常用的网络封包截获方法,包括传输层过滤驱动程序、NDIS中间驱动程序和Winsock 2 SPI。然后以Xfilter个人防火墙为实例,从功能分析、模块设计、文件结构定义、界面设计到编码、制作帮助文件及制作安装盘,完整地介绍了软件开发的全过程。因此,从本书中不仅可以学到较为全面的封包截获技术,而且可以借鉴工程化的方法制作自己的软件。 网络防火墙源码,对防火墙感兴趣的人可以下载。全套代码,包里还有对应网站的网页。

资源截图

代码片段和文件信息

///////////////////////////////////////////////////////////////////////
// Copyright (c) 2001-2002
// XStudio Technology All Right Reserved.
// Author: Tony Zhu
// 2001-7-16 Create
// summary:
// This Program to demo the Intermediate TDI Driver.
// This is main file. It include:
// 1. initialize function : DriverEntry
// 2. Unload function : PacketUnload
// 3. Dispatch function : PacketDispatch
///////////////////////////////////////////////////////////////////////

#include 
#include 
#include 
#include “packet.h“

NTSTATUS
DriverEntry(
IN PDRIVER_object Driverobject
IN PUNICODE_STRING RegistryPath

{
NTSTATUS status = 0;
    ULONG i;

DBGPRINT(“DriverEntry Loading...\n“);
Driverobject->DriverUnload = PacketUnload;

    for (i=0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
    {
Driverobject->MajorFunction[i] = PacketDispatch;
    }

status = TCPFilter_Attach(DriverobjectRegistryPath);

return status;
}

VOID 
PacketUnload(
IN PDRIVER_object Driverobject

{
    PDEVICE_object Deviceobject;
    PDEVICE_object OldDeviceobject;
PTDIH_DeviceExtension pTDIH_DeviceExtension;

  DBGPRINT(“DriverEntry unLoading...\n“);

Deviceobject = Driverobject->Deviceobject;

   while (Deviceobject != NULL) 
{
        OldDeviceobject = Deviceobject;
pTDIH_DeviceExtension
= (PTDIH_DeviceExtension )Deviceobject->DeviceExtension;
if( pTDIH_DeviceExtension->NodeType 
== TDIH_NODE_TYPE_TCP_FILTER_DEVICE )
TCPFilter_Detach( Deviceobject );   // Calls IoDeleteDevice
else
IoDeleteDevice(OldDeviceobject);
        Deviceobject = Deviceobject->NextDevice;
    }
}

NTSTATUS
PacketDispatch(
    IN PDEVICE_object Deviceobject
    IN PIRP Irp

{
NTSTATUS RC = STATUS_SUCCESS;
PTDIH_DeviceExtension pTDIH_DeviceExtension;
PIO_STACK_LOCATION IrpStack;
PIO_STACK_LOCATION NextIrpStack;

pTDIH_DeviceExtension
= (PTDIH_DeviceExtension )(Deviceobject->DeviceExtension);

IrpStack = IoGetCurrentIrpStackLocation(Irp);

switch(IrpStack->MajorFunction)
{
case IRP_MJ_CREATE:
  DBGPRINT(“PacketDispatch(IRP_MJ_CREATE)...\n“);
break;
case IRP_MJ_CLOSE:
  DBGPRINT(“PacketDispatch(IRP_MJ_CLOSE)...\n“);
break;
case IRP_MJ_CLEANUP:
  DBGPRINT(“PacketDispatch(IRP_MJ_CLEANUP)...\n“);
break;
case IRP_MJ_INTERNAL_DEVICE_CONTROL:
switch (IrpStack->MinorFunction) 
{
case TDI_ACCEPT:
  DBGPRINT(“PacketDispatch(IRP_MJ_INTERNAL_DEVICE_CONTROL\
[TDI_ACCEPT])...\n“);
break;
case TDI_ACTION:
  DBGPRINT(“PacketDispatch(IRP_MJ_INTERNAL_DEVICE_CONTROL\
[TDI_ACTION])...\n“);
break;
case TDI_ASSOCIATE_ADDRESS:
  DBGPRINT(“PacketDispatch(IRP_MJ_INTERNAL_DEVICE_CONTROL\
[TDI_ASSOCIATE_ADDRESS])...\n“);
break;
case TDI_DISASSOCIATE_ADDRESS:
  DBGPRINT(“PacketDispatch(IRP_MJ_INTERNAL_DEVICE_CONTROL\
[TDI_DISASSOCIATE_ADDRESS])...\n“);
break;
case TDI_CON

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        267  2001-07-10 15:27  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\MAKEFILE

     文件      10109  2002-01-08 19:46  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Packet.c

     文件       3474  2002-01-08 19:46  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\PACKET.H

     文件         66  2006-08-28 18:19  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Setup\E书中国.htm

     文件        940  2002-01-24 15:21  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Setup\FilterTdiDriver.reg

     文件       6303  2001-12-28 01:28  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Setup\FilterTdiDriver.sys

     文件      69352  2001-12-28 01:38  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Setup\SAMPLE.TXT

     文件       2146  2006-08-28 18:19  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Setup\使用说明.txt

     文件         63  2006-08-28 18:19  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Setup\教育中国.htm

     文件         64  2006-08-28 18:19  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Setup\网志中国.htm

     文件        202  2002-01-02 13:15  Windows防火墙与网络封包截获技术源代码\FilterTdiDriver\Sources

     文件       8371  2001-07-27 19:03  Windows防火墙与网络封包截获技术源代码\GuiDesign\frmAcl.frm

     文件       3270  2001-07-27 19:03  Windows防火墙与网络封包截获技术源代码\GuiDesign\frmAcl.frx

     文件      11769  2001-07-27 19:03  Windows防火墙与网络封包截获技术源代码\GuiDesign\frmInfo.frm

     文件       2236  2001-07-27 19:03  Windows防火墙与网络封包截获技术源代码\GuiDesign\frmInfo.frx

     文件      25946  2001-07-28 18:39  Windows防火墙与网络封包截获技术源代码\GuiDesign\frmMain.frm

     文件       9950  2001-07-28 18:39  Windows防火墙与网络封包截获技术源代码\GuiDesign\frmMain.frx

     文件        192  2001-07-27 15:24  Windows防火墙与网络封包截获技术源代码\GuiDesign\MSSCCPRJ.SCC

     文件      65536  2002-05-28 12:41  Windows防火墙与网络封包截获技术源代码\GuiDesign\XFILTER.EXE

     文件        959  2001-07-28 18:39  Windows防火墙与网络封包截获技术源代码\GuiDesign\XFILTER.VBP

     文件        156  2001-07-29 19:22  Windows防火墙与网络封包截获技术源代码\GuiDesign\XFILTER.VBW

     文件        267  2001-07-10 15:27  Windows防火墙与网络封包截获技术源代码\MinDriver\MAKEFILE

     文件       1008  2001-09-18 15:27  Windows防火墙与网络封包截获技术源代码\MinDriver\MinDriver.c

     文件       1005  2002-01-02 12:34  Windows防火墙与网络封包截获技术源代码\MinDriver\MinDriver.h

     文件        842  2002-01-23 11:04  Windows防火墙与网络封包截获技术源代码\MinDriver\MinDriver.reg

     文件       1603  2001-09-18 15:27  Windows防火墙与网络封包截获技术源代码\MinDriver\MinDriver.sys

     文件         81  2001-09-19 01:40  Windows防火墙与网络封包截获技术源代码\MinDriver\Sources

     文件        276  2002-01-26 15:15  Windows防火墙与网络封包截获技术源代码\MinDriverInVc\Build.bat

     文件         66  2006-08-28 18:19  Windows防火墙与网络封包截获技术源代码\MinDriverInVc\MinDriver\E书中国.htm

     文件        267  2001-07-10 15:27  Windows防火墙与网络封包截获技术源代码\MinDriverInVc\MinDriver\MAKEFILE

............此处省略357个文件信息

评论

共有 条评论