• 大小: 37.37MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-03
  • 语言: 其他
  • 标签: winpcap  vs  C++  

资源简介

在vs2010上做的一个计算机网路课设,实现抓取数据包,并重点对TCP协议进行分析,附有详细报告

资源截图

代码片段和文件信息

// AdpDlg.cpp : 实现文件
//
#include “pcap.h“
#include “stdafx.h“
#include “MyNetSiniffer.h“
#include “AdpDlg.h“
#include “afxdialogex.h“



// CAdpDlg 对话框

IMPLEMENT_DYNAMIC(CAdpDlg CDialogEx)

CAdpDlg::CAdpDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CAdpDlg::IDD pParent)
{

}

CAdpDlg::~CAdpDlg()
{
}

void CAdpDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX IDC_LIST1 m_list1);
DDX_Control(pDX IDC_EDIT1 m_edit1);
}


BEGIN_MESSAGE_MAP(CAdpDlg CDialogEx)
ON_NOTIFY(NM_CLICK IDC_LIST1 &CAdpDlg::onclickList1)
ON_BN_CLICKED(IDBIND &CAdpDlg::onclickedIdbind)
END_MESSAGE_MAP()


// CAdpDlg 消息处理程序


BOOL CAdpDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();

// TODO:  在此添加额外的初始化
m_list1.SetExtendedstyle(m_list1.GetExtendedstyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_list1.InsertColumn(0_T(“设备名“)LVCFMT_LEFT350);
m_list1.InsertColumn(1_T(“设备描述“)LVCFMT_LEFT250);


//获取网卡列表
char errbuf[PCAP_ERRBUF_SIZE];

if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING NULL &alldevs errbuf) == -1)
return FALSE;

for(d=alldevs; d; d=d->next)
{
m_list1.InsertItem(0(CString)d->name); //d->name的类型是char *需要强制转换为CString才能在InsertItem中显示
m_list1.SetItemText(01(CString)d->description);
}
d = NULL; //清空以便其他函数使用
//获取网卡列表结束

return TRUE;  // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}


void CAdpDlg::onclickList1(NMHDR *pNMHDR LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
NMLISTVIEW *pNMListView = (NMLISTVIEW*)pNMHDR;   

if (-1 != pNMListView->iItem)        // 如果iItem不是-1,就说明有列表项被选择   
{   
// 获取被选择列表项第一个子项的文本   
adpname = m_list1.GetItemText(pNMListView->iItem 0);   
// 将选择的语言显示与编辑框中   
SetDlgItemText(IDC_EDIT1 adpname);   
}   
}

//返回已选中设备
pcap_if_t* CAdpDlg::GetDevice()
{
if(adpname)
{
for(d=alldevs; d; d=d->next)
if(d->name == adpname)
return d;
}
return NULL;
}

pcap_if_t* CAdpDlg::returnd()
{
return d;
}

void CAdpDlg::onclickedIdbind()
{
// TODO: 在此添加控件通知处理程序代码
d = GetDevice();
if(d)
{
MessageBox(_T(“网卡绑定成功!“));
CDialogEx::OnOK();
}
else
MessageBox(_T(“请选择要绑定的网卡“));
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-02 21:03  基于winpcap的TCP协议分析\
     目录           0  2018-11-24 20:38  基于winpcap的TCP协议分析\MyNetSiniffer\
     目录           0  2018-10-27 17:08  基于winpcap的TCP协议分析\MyNetSiniffer\Debug\
     文件      330240  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\Debug\MyNetSiniffer.exe
     文件     1382100  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\Debug\MyNetSiniffer.ilk
     文件     5983232  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\Debug\MyNetSiniffer.pdb
     目录           0  2018-11-24 18:33  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\
     文件          58  2018-12-05 13:47  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer.opensdf
     文件    71520256  2018-12-05 13:48  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer.sdf
     文件         906  2018-10-26 21:54  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer.sln
     文件       29696  2018-12-04 17:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer.suo
     文件        2517  2018-10-27 12:19  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\AdpDlg.cpp
     文件         712  2018-10-27 12:19  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\AdpDlg.h
     文件           1  2009-08-31 02:02  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\ClassDiagram1.cd
     目录           0  2018-10-27 17:28  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\
     文件       36479  2018-12-04 15:32  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\AdpDlg.obj
     文件       10970  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\cl.command.1.tlog
     文件      160584  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\CL.read.1.tlog
     文件        6842  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\CL.write.1.tlog
     文件       32095  2018-12-04 15:32  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\FilterDlg.obj
     文件           2  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\link-cvtres.read.1.tlog
     文件           2  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\link-cvtres.write.1.tlog
     文件        5318  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\link.command.1.tlog
     文件       13528  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\link.read.1.tlog
     文件        3550  2018-12-04 16:10  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\link.write.1.tlog
     文件        1606  2018-12-05 13:48  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\mt.command.1.tlog
     文件        1486  2018-12-05 13:48  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\mt.read.1.tlog
     文件         526  2018-12-05 13:48  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\mt.write.1.tlog
     文件        3088  2018-12-02 15:47  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\MyNetSiniffer.Build.CppClean.log
     文件         915  2018-12-02 15:48  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\MyNetSiniffer.exe.embed.manifest
     文件         980  2018-12-04 15:32  基于winpcap的TCP协议分析\MyNetSiniffer\MyNetSiniffer\Debug\MyNetSiniffer.exe.embed.manifest.res
............此处省略39个文件信息

评论

共有 条评论