資源簡介
通過研究Winpcap中常用的庫函數(shù)的使用方式來實(shí)現(xiàn)了一個小型的網(wǎng)絡(luò)數(shù)據(jù)包抓包器,并通過對原始包文的分析來展示當(dāng)前網(wǎng)絡(luò)的運(yù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
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-12-11?11:57??源代碼文件\
?????文件????????2507??2007-10-09?01:46??源代碼文件\ARPPacket.cpp
?????文件????????1336??2007-10-09?01:02??源代碼文件\ARPPacket.h
?????文件????????4552??2007-10-04?17:34??源代碼文件\AdapaterSelection.cpp
?????文件????????1553??2007-10-04?17:34??源代碼文件\AdapaterSelection.h
?????文件???????69644??2014-12-11?11:25??源代碼文件\CapturePacket.aps
?????文件????????4029??2014-12-11?11:50??源代碼文件\CapturePacket.clw
?????文件????????2288??2007-10-11?01:06??源代碼文件\CapturePacket.cpp
?????文件????????4947??2007-10-23?01:06??源代碼文件\CapturePacket.dsp
?????文件?????????551??2007-10-04?10:56??源代碼文件\CapturePacket.dsw
?????文件??????106496??2008-01-06?02:45??源代碼文件\CapturePacket.exe
?????文件????????1403??2007-10-11?01:06??源代碼文件\CapturePacket.h
?????文件??????222208??2014-12-11?11:57??源代碼文件\CapturePacket.ncb
?????文件???????49664??2014-12-11?11:57??源代碼文件\CapturePacket.opt
?????文件????????3136??2014-12-11?11:39??源代碼文件\CapturePacket.plg
?????文件???????10653??2007-10-23?01:06??源代碼文件\CapturePacket.rc
?????文件???????28817??2007-10-23?01:01??源代碼文件\CapturePacketDlg.cpp
?????文件????????3274??2007-10-16?00:58??源代碼文件\CapturePacketDlg.h
?????文件????????3707??2007-10-09?11:44??源代碼文件\DirDialog.cpp
?????文件?????????669??2007-10-09?11:41??源代碼文件\DirDialog.h
?????文件????????1773??2007-10-23?01:00??源代碼文件\FilterDl.cpp
?????文件????????1284??2007-10-23?00:56??源代碼文件\FilterDl.h
?????文件????????1809??2007-10-14?23:25??源代碼文件\fr
?????文件?????????888??2007-10-14?23:25??源代碼文件\fr
?????文件?????????566??2007-10-05?10:49??源代碼文件\ICMPPacket.cpp
?????文件?????????996??2007-10-05?17:05??源代碼文件\ICMPPacket.h
?????文件????????5111??2007-10-09?00:37??源代碼文件\IPPacket.cpp
?????文件????????2206??2007-10-09?00:24??源代碼文件\IPPacket.h
?????文件????????2352??2007-10-09?12:41??源代碼文件\OutputDataDlg.cpp
?????文件????????1327??2007-10-09?12:00??源代碼文件\OutputDataDlg.h
?????文件?????????566??2007-10-05?10:49??源代碼文件\RARPPacket.cpp
............此處省略40個文件信息
評論
共有 條評論