資源簡介
這是我本學(xué)期的網(wǎng)絡(luò)編程課程設(shè)計,是基于winpcap的抓包程序,用MFC實現(xiàn)。
本程序基于winpcap,可以實現(xiàn)抓包類型的選擇,如ARP,IP,TCP,UDP,ICMP。一般網(wǎng)上的抓包程序都是利用原始套接字,而基于原始套接字的抓包程序是無法抓到網(wǎng)絡(luò)層一下的包的,如ARP包。本程序?qū)崿F(xiàn)的任意類型的抓包。
資源中含有1.程序源碼 2.winpcap安裝程序3.課程設(shè)計文檔4.VC++設(shè)置說明。內(nèi)容非常豐富。
本程序界面清晰實用,一目了然,容易上手。把抓包函數(shù)放到線程中,避免的主線程無響應(yīng)。

代碼片段和文件信息
//?ChoseNICDlg.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“抓包分析.h“
#include?“ChoseNICDlg.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
#pragma?comment(lib“wpcap.lib“)?
#pragma?comment(lib“WS2_32.lib“)?
/////////////////////////////////////////////////////////////////////////////
//?CChoseNICDlg?dialog
CChoseNICDlg::CChoseNICDlg(CWnd*?pParent?/*=NULL*/)
:?CDialog(CChoseNICDlg::IDD?pParent)
{
//{{AFX_DATA_INIT(CChoseNICDlg)
m_NICinfo?=?_T(““);
m_DeviceIndex?=?1;
flag=0;??//初始化為0
//}}AFX_DATA_INIT
}
void?CChoseNICDlg::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CChoseNICDlg)
DDX_Text(pDX?IDC_EDIT_NIC_INFO?m_NICinfo);
DDX_Text(pDX?IDC_EDIT_DEVICE_INDEX?m_DeviceIndex);
DDV_MinMaxInt(pDX?m_DeviceIndex?0?10);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CChoseNICDlg?CDialog)
//{{AFX_MSG_MAP(CChoseNICDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CChoseNICDlg?message?handlers
void?CChoseNICDlg::OnOK()?
{
int?i;
UpdateData(TRUE);
if?(m_DeviceIndex?>?DeviceNumberSum?-?1?||?m_DeviceIndex?0)
????{
MessageBox(“沒有該設(shè)備序號!請重新選擇““20072212466麻思“MB_OKCANCEL+MB_ICONEXCLAMATION);
}
else
{
for?(Device?=?NetwokDevice?i?=?0;?i?next?i++);??//使device指向當(dāng)前選擇的設(shè)備后面要用
//使用無線局域網(wǎng)802.11時pcap_open_live()的第三個參數(shù)(是否混雜模式)要設(shè)為0否則抓不到包
WinpcapHandle?=?pcap_open_live(LPCTSTR(DeviceName[m_DeviceIndex])?65535?0?1000?WinpcapError);//打開一個設(shè)備
if?(WinpcapHandle?==?NULL)
{
????MessageBox(“打開網(wǎng)卡失敗!“);
????pcap_freealldevs(NetwokDevice);
}
flag=1;??//選擇網(wǎng)卡成功設(shè)標(biāo)志位為1
MessageBox(“網(wǎng)卡選擇成功““20072212466麻思“MB_OKCANCEL+MB_ICONINFORMATION);
CDialog::OnOK();
}
}
pcap_if_t?*?CChoseNICDlg::GetCurrentDevice()??//返回當(dāng)前設(shè)備指針
{
return?Device;
}
pcap_t?*?CChoseNICDlg::GetPcapHandle()??//返回pcap文件指針
{
return?WinpcapHandle;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????36352??2010-07-04?22:22??課程設(shè)計\20072212466麻思.doc
?????文件????????525??2010-05-22?09:36??課程設(shè)計\pcap?VC設(shè)置.txt
?????文件?????533872??2010-06-04?08:02??課程設(shè)計\WinPcap_4_0_2.zip
?????文件???????2165??2010-06-22?23:41??課程設(shè)計\抓包分析\ChoseNICDlg.cpp
?????文件???????1747??2010-06-22?23:40??課程設(shè)計\抓包分析\ChoseNICDlg.h
?????文件???????3636??2010-06-24?23:10??課程設(shè)計\抓包分析\protoinfo.h
?????文件???????3597??2010-06-20?21:07??課程設(shè)計\抓包分析\ReadMe.txt
?????文件???????1078??2010-06-20?21:07??課程設(shè)計\抓包分析\res\抓包分析.ico
?????文件????????400??2010-06-20?21:07??課程設(shè)計\抓包分析\res\抓包分析.rc2
?????文件???????1467??2010-06-30?02:39??課程設(shè)計\抓包分析\resource.h
?????文件????????210??2010-06-20?21:07??課程設(shè)計\抓包分析\StdAfx.cpp
?????文件???????1054??2010-06-20?21:07??課程設(shè)計\抓包分析\StdAfx.h
?????文件??????37876??2010-06-30?12:57??課程設(shè)計\抓包分析\抓包分析.aps
?????文件???????2298??2010-07-14?21:36??課程設(shè)計\抓包分析\抓包分析.clw
?????文件???????2025??2010-06-20?21:07??課程設(shè)計\抓包分析\抓包分析.cpp
?????文件???????4479??2010-06-21?19:43??課程設(shè)計\抓包分析\抓包分析.dsp
?????文件????????524??2010-06-20?21:07??課程設(shè)計\抓包分析\抓包分析.dsw
?????文件???????1292??2010-06-20?21:07??課程設(shè)計\抓包分析\抓包分析.h
?????文件??????91136??2010-07-14?21:37??課程設(shè)計\抓包分析\抓包分析.ncb
?????文件??????55808??2010-07-14?21:37??課程設(shè)計\抓包分析\抓包分析.opt
?????文件????????250??2010-07-14?21:35??課程設(shè)計\抓包分析\抓包分析.plg
?????文件???????8626??2010-06-30?12:57??課程設(shè)計\抓包分析\抓包分析.rc
?????文件??????19612??2010-06-30?23:41??課程設(shè)計\抓包分析\抓包分析Dlg.cpp
?????文件???????2085??2010-06-30?22:57??課程設(shè)計\抓包分析\抓包分析Dlg.h
?????目錄??????????0??2010-07-14?16:55??課程設(shè)計\抓包分析\res
?????目錄??????????0??2010-07-15?23:03??課程設(shè)計\抓包分析
?????目錄??????????0??2010-07-15?23:03??課程設(shè)計
-----------?---------??----------?-----??----
???????????????812114????????????????????27
............此處省略0個文件信息
- 上一篇:語法分析c語言程序代碼
- 下一篇:CMM編譯器(用C#寫的一個c語言子集的解釋器)
評論
共有 條評論