資源簡介
VS2008CWinpcap網(wǎng)絡(luò)嗅探器(中科院課設(shè)).rar

代碼片段和文件信息
#include?“StdAfx.h“
#include?“MyWinPcap.h“
//?file?process
MyWinPcap::MyWinPcap(void):m_iCurNo(0)
{
//使用GetModuleFileName獲取應(yīng)用程序路徑
TCHAR?szModuleName[MAX_PATH];
::GetModuleFileName(NULLszModuleNameMAX_PATH);
CString?strDir?=?szModuleName;
strDir?=?strDir.Left(strDir.ReverseFind(TEXT(‘\\‘)));?//?Left()?->?Extracts?the?leftmost?nCount?characters?from?this?CStringT?object?and?returns?a?copy?of?the?extracted?substring
CString?fileData;
fileData.Format(TEXT(“%s\\packet.dmp“)strDir);
m_pfileData?=?new?CFile(fileDataCFile::modeCreate|CFile::modeReadWrite);?//create?or?write?data(packet)?file
CString?fileIndex;
fileIndex.Format(TEXT(“%s\\packet.idx“)strDir);
m_pfileIndex?=?new?CFile(fileIndexCFile::modeCreate|CFile::modeReadWrite);?//create?or?write?index(packet)?file
}
MyWinPcap::~MyWinPcap(void)
{????
if(m_pfileData)
{
m_pfileData->Close();
delete?m_pfileData;
m_pfileData?=?NULL;?//?safer
}
if(m_pfileIndex)
{
m_pfileIndex->Close();
delete?m_pfileIndex;
m_pfileIndex?=?NULL;
}
}
//?Append?packet
void?MyWinPcap::AppendPacket(packet?*pkt)
{
const?pcap_pkthdr?*header?=?pkt->header;
????const?u_char?*data?=?pkt->pkt_data;
++m_iCurNo;
packet_index?index;
index.no?=?m_iCurNo;
index.pos?=?m_pfileData->GetPosition();
index.len?=?sizeof(pcap_pkthdr)?+?header->len;
m_pfileIndex->SeekToEnd();
m_pfileIndex->Write(&indexsizeof(packet_index));
m_pfileData->SeekToEnd();
m_pfileData->Write(headersizeof(pcap_pkthdr));
m_pfileData->Write(dataheader->len);
m_pfileIndex->Flush();?//?write?from?memory?to?disk?immediatly
m_pfileData->Flush();
}
//?Get?packet
packet?*?MyWinPcap::GetPacket(int?m_iNo)
{
int?iPos?=?(m_iNo-1)*sizeof(packet_index);
packet_index?pIndex;
m_pfileIndex->Seek(iPosCFile::begin);
m_pfileIndex->Read(&pIndexsizeof(packet_index));
m_pfileData->Seek(pIndex.posCFile::begin);
byte?*buffer?=?new?byte[pIndex.len];
m_pfileData->Read(bufferpIndex.len);
packet?*pkt?=?new?packet();
pkt->header?=?(pcap_pkthdr?*)buffer;
pkt->pkt_data?=?(u_char?*)(buffer+sizeof(pcap_pkthdr));
return?pkt;
}
//?=============?self?function?=============
//?返回本機(jī)所有的網(wǎng)卡
pcap_if_t?*??MyWinPcap::GetAdapterList(void?)
{
/*?Retrieve?the?device?list?from?the?local?machine?*/
char?errbuf[PCAP_ERRBUF_SIZE];
pcap_if_t?*?m_alldevs?=?new?pcap_if_t();??//????????allocate?memory?to?sava?temp?all-devs??????
????if?(pcap_findalldevs_ex(PCAP_SRC_IF_STRING?NULL?/*?auth?is?not?needed?*/?&m_alldevs?errbuf)?==?-1)?//?if?error
????{
CString?errmsg;
USES_CONVERSION;
errmsg.Format(TEXT(“Error?in?cap_finalldevs_ex():?%s\n“)A2W(errbuf));
AfxMessageBox(errmsg);
return?NULL;
}
else?if(NULL?==?m_alldevs)
{
AfxMessageBox(TEXT(“No?interfaces?found!?Make?sure?WinPcap?is?installed...“));
return?NULL;
}
else
return?m_alldevs;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????238080??2009-10-25?23:41??網(wǎng)絡(luò)攻擊與防范實(shí)驗(yàn)報告.doc
?????文件?????223232??2009-10-25?23:43??YGSniffer.exe
?????文件???????2939??2009-10-16?02:00??YGSniffer\YGSniffer\MyWinPcap.cpp
?????文件????????629??2009-10-15?17:35??YGSniffer\YGSniffer\MyWinPcap.h
?????文件???????4058??2009-10-14?13:32??YGSniffer\YGSniffer\ReadMe.txt
?????文件??????67777??2007-11-28?16:21??YGSniffer\YGSniffer\res\YGSniffer.ico
?????文件????????400??2009-10-14?13:32??YGSniffer\YGSniffer\res\YGSniffer.rc2
?????文件???????2881??2009-10-25?21:46??YGSniffer\YGSniffer\resource.h
?????文件????????211??2009-10-14?13:32??YGSniffer\YGSniffer\stdafx.cpp
?????文件???????2175??2009-10-17?12:10??YGSniffer\YGSniffer\stdafx.h
?????文件???????5143??2009-10-24?09:59??YGSniffer\YGSniffer\StructFile.h
?????文件???????1469??2009-10-14?17:22??YGSniffer\YGSniffer\targetver.h
?????文件?????110440??2009-10-25?21:47??YGSniffer\YGSniffer\YGSniffer.aps
?????文件???????2129??2009-10-25?21:44??YGSniffer\YGSniffer\YGSniffer.cpp
?????文件????????526??2009-10-14?13:32??YGSniffer\YGSniffer\YGSniffer.h
?????文件???????9465??2009-10-25?21:47??YGSniffer\YGSniffer\YGSniffer.rc
?????文件???????6031??2009-10-24?16:12??YGSniffer\YGSniffer\YGSniffer.vcproj
?????文件???????1421??2009-10-24?20:24??YGSniffer\YGSniffer\YGSniffer.vcproj.INTERNAL.yangliang.user
?????文件???????1407??2009-10-25?23:43??YGSniffer\YGSniffer\YGSniffer.vcproj.YOUNG.yanggang.user
?????文件??????34882??2009-10-25?21:46??YGSniffer\YGSniffer\YGSnifferDlg.cpp
?????文件???????4502??2009-10-25?21:46??YGSniffer\YGSniffer\YGSnifferDlg.h
?????文件????????893??2009-10-14?13:32??YGSniffer\YGSniffer.sln
????..A..H.????173056??2009-10-25?23:43??YGSniffer\YGSniffer.suo
?????目錄??????????0??2009-10-24?20:44??YGSniffer\YGSniffer\res
?????目錄??????????0??2009-10-25?23:43??YGSniffer\YGSniffer
?????目錄??????????0??2009-10-25?23:45??YGSniffer
-----------?---------??----------?-----??----
???????????????893746????????????????????26
- 上一篇:銑床夾具 裝配圖
- 下一篇:《AutoCAD .NET開發(fā)指南2012版》
評論
共有 條評論