资源简介

基于WinPcap的MFC抓包程序,可以分析ICMP,IGMP,TCP,UDP,ARP协议,并且带有流量统计功能,功能界面完全仿照Ethereal来写,里面包含文档,源码,WinpCap安装包,开发包等。

资源截图

代码片段和文件信息

// ChartDlg.cpp : implementation file
//

#include “stdafx.h“
#include “Sniffer.h“
#include “ChartDlg.h“
#include “SnifferDlg.h“

// CChartDlg dialog

IMPLEMENT_DYNAMIC(CChartDlg CDialog)

CChartDlg::CChartDlg(CWnd* pParent /*=NULL*/)
: CDialog(CChartDlg::IDD pParent)
 m_Radio(0)
 chartnum(0)
{

}

CChartDlg::~CChartDlg()
{
}

void CChartDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);

DDX_Control(pDX IDC_TCHART1 m_chart);
DDX_Control(pDX IDC_CHART_EDIT m_ChartFilter);
DDX_Radio(pDX IDC_RADIO1 m_Radio);
}


BEGIN_MESSAGE_MAP(CChartDlg CDialog)
// ON_WM_TIMER()
ON_WM_CTLCOLOR()
ON_EN_CHANGE(IDC_CHART_EDIT &CChartDlg::OnEnChangeChartEdit)
ON_BN_CLICKED(IDC_CHARTBUTTON &CChartDlg::OnBnClickedChartbutton)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_RADIO1 &CChartDlg::OnBnClickedRadio1)
ON_BN_CLICKED(IDC_RADIO2 &CChartDlg::OnBnClickedRadio2)
END_MESSAGE_MAP()


// CChartDlg message handlers

BOOL CChartDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO:  Add extra initialization here
//  m_chart.Series(0).FillSampleValues(50);
//  m_chart.Series(0).Clear();
//  m_chart.Series(0).Add(1_T(“0“)1);
//  m_chart.Series(0).Add(1_T(“0“)1);
//cDlg=(CChartDlg*)this;
cDlg=(int)this;
hbrush=CreateSolidBrush(RGB(255255255));
HasThread=FALSE;
m_Radio=0;
chartnum=1;
//  CString str;
//  str.Format(_T(“%x“)this);
//  AfxMessageBox(str);
xtime=0;
for(int i=0;i<30;i++)
{
m_chart.Series(0).Add(0_T(““)1);
}
//SetTimer(11000NULL);
OnBnClickedChartbutton();
return TRUE;  // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

//void CChartDlg::OnTimer(UINT_PTR nIDEvent)
//{
// // TODO: Add your message handler code here and/or call default
//  static int time;
//  swprintf_s(timestr256_T(“%s“)time);
//  time++;
// //EnterCriticalSection(&CapThreadCS);
//
// int num;
// CFile mFile;
// mFile.Open(_T(“num.dat“)CFile::modeRead);
// CArchive ar(&mFileCArchive::load);
// ar>>num;
//
// m_chart.Series(0).Add(num_T(“a“)1);
// //LeaveCriticalSection(&CapThreadCS);
// m_chart.GetAxis().GetBottom().Scroll(1.0TRUE);
// /*tcpnum=0;*/
//  m_chart.GetAxis().GetBottom().Scroll(1.0TRUE);
// CDialog::OnTimer(nIDEvent);
//}

UINT TrafficThread(LPVOID lpParameter)
{/*流量统计线程*/
pcap_if_t* dev=(pcap_if_t*)lpParameter;
pcap_t *fp;
char errbuf[PCAP_ERRBUF_SIZE];
struct timeval st_ts;
u_int netmask;
struct bpf_program fcode;
CString err;
if((fp= pcap_open(dev->name100PCAP_OPENFLAG_PROMISCUOUS1000NULLerrbuf))==NULL)
{

err.Format(_T(“Unable to open the adapter. %s is not supported by WinPcap“)CString(dev->name));
AfxMessageBox(err);
pcap_freealldevs(dev);
//GetDlgItem(IDC_BUTTON1);
return -1;
}

/* 不用关心掩码,在这个过滤器中,它不会被使用 */
netmask=0xffffff; 

// 编译过滤器
if (pcap_compile(fp &fcodeCStringA(Chartfilter.GetBuffer())  1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-12-26 16:49  基于WinPcap的MFC抓包程序\
     目录           0  2011-12-26 16:49  基于WinPcap的MFC抓包程序\源码\
     目录           0  2011-12-26 16:49  基于WinPcap的MFC抓包程序\源码\Sniffer\
     目录           0  2011-12-28 13:40  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\
     目录           0  2011-12-26 16:49  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\
     文件         665  1998-05-31 00:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\ADOAPT15.REG
     文件         640  1998-05-31 00:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\ADOFRE15.REG
     文件       14610  2008-04-14 20:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\adojavas.inc
     文件       24206  1998-06-18 00:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\ADOreadme.txt
     文件       14951  2008-04-14 20:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\adovbs.inc
     文件          26  1998-05-31 00:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\MAKAPT15.BAT
     文件          26  1998-05-31 00:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\MAKFRE15.BAT
     文件         435  2008-04-14 20:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\MDACReadme.htm
     文件       24576  2008-04-14 20:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msader15.dll
     文件      536576  2010-11-09 22:51  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msado15.dll
     文件       61440  2010-11-08 20:41  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msado20.tlb
     文件       61440  2010-11-08 20:41  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msado21.tlb
     文件       81920  2010-11-08 20:41  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msado25.tlb
     文件       81920  2010-11-08 20:41  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msado26.tlb
     文件       81920  2010-11-08 20:41  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msado27.tlb
     文件      180224  2010-11-09 22:51  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msadomd.dll
     文件       57344  2008-04-14 20:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msador15.dll
     文件      200704  2010-11-09 22:51  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msadox.dll
     文件       57344  2008-04-14 20:00  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msadrh15.dll
     文件      102400  2010-11-09 22:51  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\ado\msjro.dll
     文件      184320  2011-12-12 23:06  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\filter.mdb
     文件      418304  2011-12-21 18:59  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\Sniffer.exe
     文件     7359488  2011-12-21 18:59  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\Sniffer.pdb
     文件     6427136  2007-07-20 08:01  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\TeeChart8.ocx
     文件          24  2011-12-28 13:40  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\tmpData.CAP
     文件          22  2011-12-21 19:34  基于WinPcap的MFC抓包程序\源码\Sniffer\Debug\注册TeeChart8组件.bat
............此处省略614个文件信息

评论

共有 条评论