预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共67页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、环境的搭建安装Winpcap安装Winpcap打开VC6,创建工程应用程序类型选择基本对话框,然后点击完成然后你会进入这个界面将WPDPACK拷到C盘根目录下将WPDPACK拷到C盘根目录下进入VC6,并点击工具>选项>目录,在目录中的Includefiles中添加C:\WPDPACK\Include在目录中的Libraryfiles中添加C:\WPDPACK\Lib点击工程>设置>C/C++,在Preprocessordefinitions中添加预处理定义:WPCAP和HAVE_REMOTE点击工程>设置>link,在对象/库模块中添加wpcap.lib这一项二、界面的简易设计双击左侧的Resource>MySnifferresources>IDD_MYSNIFFER_DIALOG,就可以进入图形化界面设计要用到的控件简介创建一个静态文本,并右键点击它,选中属性,将ID修改为“IDC_STATIC_SELECT_DEVICE”,标题修改为“选择网络适配器序号:”创建一个编辑框,并右键点击属性,将ID改为IDC_EDIT_SELECT_DEVICE创建一个列表控件,并右键点击属性,将ID改为IDC_LIST_DEVICE,然后点击样式>查看,选择报告创建一个按钮,并右键点击属性,将ID改为IDC_BUTTON_GET_DEVICE,标题改为网络适配器再创建一个列表控件,并右键点击属性,将ID改为IDC_LIST_PACK,然后点击样式>查看,选择报告创建一个按钮,并右键点击属性,将ID改为IDC_BUTTON_START,标题改为开始创建一个编辑框,并右键点击属性,将ID改为EDIT_DATA_INFORMATION,然后点击样式,将复选框“多行”,“垂直滚动”和“自动垂直滚动”打上勾界面的设计基本上完成了,按F5调试运行,效果应该是如下图所示:三、添加类向导与成员变量点击查看>建立类向导>MessageMaps,为IDC_BUTTON_START和IDC_BUTTON_GET_DEVICE添加BN_CLICKED响应函数(选中按钮ID和BN_CLICKED后点击ADD_FUNCTION)选中IDC_LIST_PACK,并点击NM_CLICK,再点击ADDFUNCTION,添加事件响应函数点击查看>建立类向导>MemberVariables,选中列表中的IDC_EDIT_INFORMATION,并点击ADDVARIABLE,为其添加Value>CString型变量m_data_information,再用同样的方法为其余的三个项添加变量四、嗅探器功能设计双击左侧的ClassView>MySnifferclasses>CAboutDlg,进入代码界面按F5调试运行,你会发现下面的两个列表框多了网格线以及各列对应的属性的名称:回到OnInitDialog函数,并在下面添加如下所示代码(在这里是为了防止用户未选择网络适配器就进行抓包,从而发生错误):按F5调试运行,你会发现“开始”按钮变成灰色了(换句话说就是不能用了)双击左侧的FileView>MySnifferfiles>MySnifferDlg.h,进入代码页面在MySnifferDlg.h最上部添加头文件声明:#include"pcap.h"#include<stdlib.h>然后再在下面添加:#ifndefWIN32#include<sys/socket.h>#include<netinet/in.h>#else#include<winsock.h>#endif然后在///////////////////////////////////////////////////////////////////////////////CMySnifferDlgdialog下面添加:#defineMAXSIZE10000voidThreadFunc();为classCMySnifferDlg:publicCDialog添加Public型成员变量:为classCMySnifferDlg:publicCDialog添加protected型成员变量:双击左侧的ClassView>MySnifferclasses>CAboutDlg,进入代码界面找到OnInitDialog函数,并添加变量初始化语句:按F5调试运行,并单击“网络适配器”你会发现第一个列表中显示出了当前主机上的网络适配器的相关信息回到OnButtonGetDevice函数,并添加如下所示代码:按F5调试运行,并单击“网络适配器”你会发现“开始”按钮由灰色(即不可用)状态变为可用状态了点击文件>新建C/C++HeaderFile,新建一个名为“ip_header.h”的头文件并添加到此工程中回到OnButtonGetDevice