资源简介
该防火墙设计分为核心层和应用层,下面详细说明两部分的设计需求:
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个文件信息
评论
共有 条评论