資源簡(jiǎn)介
使用Winpcap捕獲網(wǎng)絡(luò)數(shù)據(jù)包,能自定義抓包規(guī)則,并且實(shí)現(xiàn)了對(duì)數(shù)據(jù)包的分析
系統(tǒng)在設(shè)計(jì)過程中按照MVC的設(shè)計(jì)模式,整體分為三層。第一層為Control層即控制層,這里為簡(jiǎn)化設(shè)計(jì),將Control層分為兩個(gè)部分,一部分為網(wǎng)絡(luò)報(bào)文輸入,另一部分為用戶輸入;第二層是Model層即模型層;第三層為View層即顯示層。
系統(tǒng)的整體運(yùn)行過程為:從Control層得到數(shù)據(jù),交到Model層進(jìn)行處理,將處理完的結(jié)果交View層進(jìn)行顯示。Control層主要用于網(wǎng)絡(luò)數(shù)據(jù)包的捕獲以及獲得用戶的輸入;
Model層主要用于分析數(shù)據(jù)包,處理用戶的輸入;View層主要用于對(duì)處理后的結(jié)果進(jìn)行顯示。

代碼片段和文件信息
//?AdapaterSelection.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“CapturePacket.h“
#include?“AdapaterSelection.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CAdapaterSelection?dialog
CAdapaterSelection::CAdapaterSelection(CWnd*?pParent?/*=NULL*/)
:?CDialog(CAdapaterSelection::IDD?pParent)
{
//{{AFX_DATA_INIT(CAdapaterSelection)
//?NOTE:?the?ClassWizard?will?add?member?initialization?here
//}}AFX_DATA_INIT
}
void?CAdapaterSelection::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdapaterSelection)
DDX_Control(pDX?IDC_TREE_NETWORKADAPTERS?m_treeAdapater);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAdapaterSelection?CDialog)
//{{AFX_MSG_MAP(CAdapaterSelection)
ON_NOTIFY(NM_DBLCLK?IDC_TREE_NETWORKADAPTERS?OnDblclkTreeNetworkadapters)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CAdapaterSelection?message?handlers
BOOL?CAdapaterSelection::OnInitDialog()?
{
CDialog::OnInitDialog();
//?TODO:?Add?extra?initialization?here
????
//初始化樹形選擇
????HTREEITEM?root?=?m_treeAdapater.InsertItem(_T(“網(wǎng)絡(luò)適配器“));
if(pcap_findalldevs(&m_pAllDevs?m_strErrorBuf)?==?-1)
return?FALSE;
for(m_pDev?=?m_pAllDevs;m_pDev?!=?NULL;m_pDev?=?m_pDev->next)
{
char?temp[400];
CString?strText;
HTREEITEM?hSubItem?=?m_treeAdapater.InsertItem(m_pDev->nameroot);
if(m_pDev->description?!=?NULL)
{
????strText.Format(“網(wǎng)卡描述信息?:?%s“m_pDev->description);
m_treeAdapater.InsertItem(strTexthSubItem);
}
else
{
m_treeAdapater.InsertItem(“網(wǎng)卡描述信息?:?空“hSubItem);
}
if(m_pDev->addresses?!=?NULL?&&?m_pDev->addresses->addr?!=?NULL)
{
iptos(((struct?sockaddr_in?*)m_pDev->addresses->addr)->sin_addr.s_addrtemp);
strText.Format(“IP地址?:?%s“temp);
m_treeAdapater.InsertItem(strTexthSubItem);
}
else
{
m_treeAdapater.InsertItem(“IP地址?:??空“hSubItem);
}
if(m_pDev->addresses?!=?NULL?&&?m_pDev->addresses->broadaddr?!=?NULL)
{
iptos(((struct?sockaddr_in?*)m_pDev->addresses->broadaddr)->sin_addr.s_addrtemp);
strText.Format(“廣播地址?:?%s“temp);
m_treeAdapater.InsertItem(strTexthSubItem);
}
else
{
m_treeAdapater.InsertItem(“廣播地址?:?無“hSubItem);
}
if(m_pDev->addresses!=NULL?&&?m_pDev->addresses->netmask!=NULL)
{
iptos(((struct?sockaddr_in?*)m_pDev->addresses->netmask)->sin_addr.s_addrtemp);
strText.Format(“子網(wǎng)掩碼?:?%s“temp);
m_treeAdapater.InsertItem(strTexthSubItem);
}
else
{
m_treeAdapater.InsertItem(“子網(wǎng)掩碼?:?空“hSubItem);
}
if(m_pDev->addresses!=NULL?&&?m_pDev->addresses->dstaddr!=NULL)
{
iptos(((struct?sockaddr_in?*)m_pDev->addresses->dstaddr)->sin_addr.s_addrtemp);
strText.Format(“目地地址?:?%s“tem
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????102400??2008-01-06?02:45??網(wǎng)絡(luò)嗅探器\可執(zhí)行文件\CapturePacket.exe
?????文件?????????10??2008-01-24?15:38??網(wǎng)絡(luò)嗅探器\可執(zhí)行文件\configuration\filter.cp
?????文件?????620659??2007-10-16?13:48??網(wǎng)絡(luò)嗅探器\可執(zhí)行文件\help.CHM
?????文件?????561648??2007-09-28?16:59??網(wǎng)絡(luò)嗅探器\可執(zhí)行文件\WinPcap_4_0_1.exe
?????文件????????515??2007-10-16?14:18??網(wǎng)絡(luò)嗅探器\可執(zhí)行文件\首次使用必讀.txt
?????文件???????4552??2007-10-04?17:34??網(wǎng)絡(luò)嗅探器\源代碼文件\AdapaterSelection.cpp
?????文件???????1553??2007-10-04?17:34??網(wǎng)絡(luò)嗅探器\源代碼文件\AdapaterSelection.h
?????文件????????860??2007-10-23?00:36??網(wǎng)絡(luò)嗅探器\源代碼文件\app.manifest
?????文件??????13541??2004-12-21?23:03??網(wǎng)絡(luò)嗅探器\源代碼文件\appface.h
?????文件???????2532??2004-12-20?14:16??網(wǎng)絡(luò)嗅探器\源代碼文件\appface.lib
?????文件???????2507??2007-10-09?01:46??網(wǎng)絡(luò)嗅探器\源代碼文件\ARPPacket.cpp
?????文件???????1336??2007-10-09?01:02??網(wǎng)絡(luò)嗅探器\源代碼文件\ARPPacket.h
?????文件??????86140??2007-10-23?01:06??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.aps
?????文件???????4031??2007-11-16?16:27??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.clw
?????文件???????2288??2007-10-11?01:06??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.cpp
?????文件???????4947??2007-10-23?01:06??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.dsp
?????文件????????551??2007-10-04?10:56??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.dsw
?????文件?????106496??2008-01-06?02:45??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.exe
?????文件???????1403??2007-10-11?01:06??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.h
?????文件?????181248??2007-11-16?16:27??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.ncb
?????文件??????61952??2007-11-16?16:27??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.opt
?????文件???????1284??2007-10-23?01:05??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.plg
?????文件??????10653??2007-10-23?01:06??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacket.rc
?????文件??????28817??2007-10-23?01:01??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacketDlg.cpp
?????文件???????3274??2007-10-16?00:58??網(wǎng)絡(luò)嗅探器\源代碼文件\CapturePacketDlg.h
?????文件?????????10??2007-10-16?13:28??網(wǎng)絡(luò)嗅探器\源代碼文件\configuration\filter.cp
?????文件???????3707??2007-10-09?11:44??網(wǎng)絡(luò)嗅探器\源代碼文件\DirDialog.cpp
?????文件????????669??2007-10-09?11:41??網(wǎng)絡(luò)嗅探器\源代碼文件\DirDialog.h
?????文件???????1773??2007-10-23?01:00??網(wǎng)絡(luò)嗅探器\源代碼文件\FilterDl.cpp
?????文件???????1284??2007-10-23?00:56??網(wǎng)絡(luò)嗅探器\源代碼文件\FilterDl.h
............此處省略39個(gè)文件信息
評(píng)論
共有 條評(píng)論