资源简介

用c++基于winPcap开发的嗅探器,用mfc做了一个简单的界面

资源截图

代码片段和文件信息

// AdpDlg.cpp : 实现文件
//

#include “stdafx.h“
#include “Sniffer.h“
#include “AdpDlg.h“
#include “afxdialogex.h“

#include “SnifferDlg.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);
}


BEGIN_MESSAGE_MAP(CAdpDlg CDialogEx)

ON_NOTIFY(NM_CLICK IDC_LIST1 &CAdpDlg::OnNMClickList1)
ON_BN_CLICKED(IDOK &CAdpDlg::OnBnClickedOk)
END_MESSAGE_MAP()

// CAdapDlg 消息处理程序


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::OnNMClickList1(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;
}


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

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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-12-01 16:13  Sniffer\
     目录           0  2014-12-01 16:12  Sniffer\ipch\
     目录           0  2014-12-01 16:39  Sniffer\ipch\sniffer-460e7536\
     目录           0  2014-12-01 16:10  Sniffer\Release\
     文件      114688  2014-12-01 16:10  Sniffer\Release\Sniffer.exe
     文件     4639744  2014-12-01 16:10  Sniffer\Release\Sniffer.pdb
     目录           0  2014-12-01 16:13  Sniffer\Sniffer\
     文件    64376832  2014-12-01 16:13  Sniffer\Sniffer.sdf
     文件         888  2014-10-10 15:53  Sniffer\Sniffer.sln
     文件       32256  2014-12-01 16:13  Sniffer\Sniffer.suo
     文件        2469  2014-10-15 00:33  Sniffer\Sniffer\AdpDlg.cpp
     文件         682  2014-10-15 00:13  Sniffer\Sniffer\AdpDlg.h
     目录           0  2014-12-01 16:08  Sniffer\Sniffer\Debug\
     文件       39605  2014-10-22 13:44  Sniffer\Sniffer\Debug\AdpDlg.obj
     文件        8486  2014-10-22 17:17  Sniffer\Sniffer\Debug\cl.command.1.tlog
     文件      154090  2014-10-22 17:17  Sniffer\Sniffer\Debug\CL.read.1.tlog
     文件        6358  2014-10-22 17:17  Sniffer\Sniffer\Debug\CL.write.1.tlog
     文件       36989  2014-10-22 13:44  Sniffer\Sniffer\Debug\FilterDlg.obj
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link-cvtres.read.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link-cvtres.write.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.1096-cvtres.read.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.1096-cvtres.write.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.1096.read.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.1096.write.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.13612-cvtres.read.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.13612-cvtres.write.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.13612.read.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.13612.write.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.14216-cvtres.read.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.14216-cvtres.write.1.tlog
     文件           2  2014-10-22 17:17  Sniffer\Sniffer\Debug\link.14216.read.1.tlog
............此处省略101个文件信息

评论

共有 条评论