资源简介
VS2008CWinpcap网络嗅探器(中科院课设).rar
代码片段和文件信息
#include “StdAfx.h“
#include “MyWinPcap.h“
// file process
MyWinPcap::MyWinPcap(void):m_iCurNo(0)
{
//使用GetModuleFileName获取应用程序路径
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 =============
// 返回本机所有的网卡
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 网络攻击与防范实验报告.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开发指南2012版》
相关资源
- abaqus二维切削仿真.inp
- studentmanageprogect.zip
- SunLikeERP8.0.txt
- 2019年东南大学研究生自辩、中特复习
- 国内外管理信息系统现状及展望
- IEEE33.DAT
- IEMOCAP.txt
- 无忧2019全国计算机等级考试破解补丁
- L_8086_8259_8255_8253.pdsprj
- ieee33.rar
- 美国疫情数据.xlsx
- 枪神纪全功能源码.rar
- VirtualAudioCable4.60Win10版.rar
- 多路串口.7z
-
twoli
nks.slx - MOPSO.zip124181
- 新建DOCX文档.docx
- 决策树算法.rar
- 锁相环的改进及仿真_李尧.pdf
- 新建压缩(zipped)文件夹.zip
- 9-Axis.zip
- 接口.txt
- 支付存管系统(PDS)与商户接口规范
- 2019校园宿舍系统.zip
- zed-examples-master.zip
- bk.cmhaaoso.top.zip
- 2019_全国大学生电子设计大赛_C题_线路
- 37724122try_fxlms.rar
- UCI数据集data格式.rar
- baiduyuanpan.txt
评论
共有 条评论