资源简介
用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\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
文件 2 2014-10-22 17:17 Sniffer\Sniffer\Debug\li
............此处省略101个文件信息
相关资源
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
- c++ 虚拟摄像头
- hook,捕获所有案件,查找所有窗口,
- C语言课设计算器
- c++ 简易贪吃蛇源码
- 高精度加法(c++代码)
- C++调用百度地图案例
- 北京化工大学计算方法(C/C++)讲义
- 基于VC++的SolidWorks二次开发SolidWorks
- c++ 模拟鼠标按键
- OFD编辑器
- Beginning C++17 From Novice to Professional
- C++ STL实现
- opencv手部轮廓识别以及轨迹识别
- 百度C++编码规范
- C++ sql2008 WebServer通讯.docx
- c++ 定时关机程序源码
- 基于VSCode和CMake实现C++开发
- c++语法查询工具
- c++ 账务系统源码
- GBT 28169-2011 嵌入式软件 C语言编码规范
- c++ 猜拳小游戏
评论
共有 条评论