• 大小: 30.55MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-28
  • 语言: C/C++
  • 标签: NDIS  防火墙  

资源简介

该防火墙设计分为核心层和应用层,下面详细说明两部分的设计需求: 1. 防火墙实现三个基本功能(核心层) ) : ①管控功能:接受应用层的过滤规则和控制信息,实现对核心层的控制。 ②核心过滤功能:对 NDIS 中间层驱动程序截获的数据根据控制信息和过滤规则 进行处理,对过滤规则中拒绝通行的数据进行拦截丢弃,对允许通过的数据放行。 ③日志记录功能:对经过的数据和拦截的数据记录到文件中,以便日后查看。 2. 界面功能(应用层) ) : 用 c++实现一个基本界面,要求简单易操作,对上述功能有较清晰的显示。

资源截图

代码片段和文件信息

// FirewallAppDoc.cpp : implementation of the CFirewallAppDoc class
//

#include “stdafx.h“
#include “FirewallApp.h“

#include “FirewallAppDoc.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFirewallAppDoc

IMPLEMENT_DYNCREATE(CFirewallAppDoc CDocument)

BEGIN_MESSAGE_MAP(CFirewallAppDoc CDocument)
//{{AFX_MSG_MAP(CFirewallAppDoc)
// NOTE - the ClassWizard will add and remove mapping macros here.
//    DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFirewallAppDoc construction/destruction

CFirewallAppDoc::CFirewallAppDoc()
{
nRules = 0;
}

CFirewallAppDoc::~CFirewallAppDoc()
{
}

BOOL CFirewallAppDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;

// TODO: add reinitialization code here
// (SDI documents will reuse this document)

return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CFirewallAppDoc serialization

void CFirewallAppDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}

/////////////////////////////////////////////////////////////////////////////
// CFirewallAppDoc diagnostics

#ifdef _DEBUG
void CFirewallAppDoc::AssertValid() const
{
CDocument::AssertValid();
}

void CFirewallAppDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CFirewallAppDoc commands

int CFirewallAppDoc::AddRule(unsigned long srcIp
 unsigned long srcMask
 unsigned short srcPort
 unsigned long dstIp
 unsigned long dstMask
 unsigned short dstPort
 unsigned int protocol
 int action)
{

if(nRules >= MAX_RULES)
{
return -1;
}

else
{
rules[nRules].sourceIp   = srcIp;
rules[nRules].sourceMask   = srcMask;
rules[nRules].sourcePort   = srcPort;
rules[nRules].destinationIp   = dstIp;
rules[nRules].destinationMask = dstMask;
rules[nRules].destinationPort = dstPort;
rules[nRules].protocol   = protocol;
rules[nRules].action   = action;

nRules++;
}

return 0;
}

void CFirewallAppDoc::ResetRules()
{
nRules = 0;
}

void CFirewallAppDoc::DeleteRule(unsigned int position)
{
// Fuera de rango
if(position >= nRules)
return;

// Si es la ultima simplemente tengo que decrementar nRules en 1
if(position != nRules - 1)
{
unsigned int i;

for(i = position + 1;i {
rules[i - 1].sourceIp   = rules[i].sourceIp;
rules[i - 1].sourceMask   = rules[i].sourceMask;
rules[i - 1].sourcePort   = rules[i].sourcePor

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-10 20:42  windows xp下个人防火墙的设计与实现\
     目录           0  2018-10-10 20:41  windows xp下个人防火墙的设计与实现\源码\
     目录           0  2018-10-10 20:42  windows xp下个人防火墙的设计与实现\源码\NDISCode\
     文件        2940  2003-07-08 16:12  windows xp下个人防火墙的设计与实现\源码\NDISCode\DrvFltIp.h
     文件        3149  2018-03-26 23:21  windows xp下个人防火墙的设计与实现\源码\NDISCode\DrvFltIp.sy_
     文件       57236  2018-03-30 15:46  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallApp.aps
     文件        3584  2003-09-26 19:54  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallApp.clw
     文件        1411  2003-09-15 17:10  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallApp.h
     文件       17920  2018-04-04 14:53  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallApp.suo
     文件        8642  2018-03-30 15:22  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallApp.vcxproj
     文件        3394  2018-03-26 23:04  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallApp.vcxproj.filters
     文件        3315  2003-09-19 01:03  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallAppDoc.cpp
     文件        1916  2003-09-19 01:03  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallAppDoc.h
     文件        5770  2018-03-30 15:50  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallAppView.cpp
     文件        2509  2003-09-19 01:03  windows xp下个人防火墙的设计与实现\源码\NDISCode\FirewallAppView.h
     文件        9820  2018-03-30 15:52  windows xp下个人防火墙的设计与实现\源码\NDISCode\MainFrm.cpp
     文件        2515  2003-09-26 19:21  windows xp下个人防火墙的设计与实现\源码\NDISCode\MainFrm.h
     目录           0  2018-10-10 20:42  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\
     文件       39580  2018-03-30 15:53  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\CL.read.1.tlog
     文件        3718  2018-03-30 15:53  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\CL.write.1.tlog
     文件       65536  2018-03-30 15:55  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallApp.exe
     文件         381  2018-03-30 15:55  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallApp.exe.intermediate.manifest
     文件          73  2018-03-30 15:57  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallApp.lastbuildstate
     文件        1039  2018-03-30 15:57  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallApp.log
     文件       43875  2018-03-30 15:15  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallApp.obj
     文件    21626880  2018-03-30 15:15  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallApp.pch
     文件       45378  2018-03-30 15:15  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallAppDoc.obj
     文件       51873  2018-03-30 15:53  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\FirewallAppView.obj
     文件       66611  2018-03-30 15:53  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\MainFrm.obj
     文件       27880  2018-03-30 15:06  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\RCa03212
     文件       27880  2018-03-30 15:06  windows xp下个人防火墙的设计与实现\源码\NDISCode\Release\RCa08572
............此处省略40个文件信息

评论

共有 条评论