资源简介
基于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个文件信息
评论
共有 条评论