資源簡介
基于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個文件信息
評論
共有 條評論