资源简介
使用vc编写 运用wpacp函数调用实现。
一套控制台的,一套MFC窗口的,想要就下哈,里面有说明文档。

代码片段和文件信息
#include “iostream.h“
#pragma comment(lib“ws2_32.lib“)
#define HAVE_REMOTE
#include “pcap.h“
#include “windows.h“
#include
//******************************************************************************************************************
//*****************************************全局变量声明*************************************************************
//******************************************************************************************************************
CRITICAL_SECTION cs;//临界区定义
int myThreadCount = 0;//线程数目
pcap_if_t *d;//全局变量,存放选中的网络设备
pcap_pkthdr* pktHd;//存放收到包的包头
const unsigned char* pktDt;//存放收到包的数据域
pcap_t *pt;//全局变量,存放打开的网络连接句柄
unsigned int iptosendniptosendhlocalipnlNetMaskHostNum;//iptosendn要发送的网络序的目的IP地址,iptosendh要发的主机序的IP地址
unsigned char localmac[6]={000000}; //存放本机MAC地址
#pragma pack(1)//操作系统界地址对齐方式换为网络对齐方式
struct ethernet_head//以太网物理帧头
{unsigned char dest_mac[6];
unsigned char source_mac[6];
unsigned short eh_type;
};
struct arp_head//ARP数据包数据部分结构
{unsigned short hardware_type; // 2硬件类型:Ethernet网接口类型为1
unsigned short protocol_type; // 2协议类型:IP协议类型为0x0800
unsigned char add_len; // 1硬件地址长度:MAC地址长度为6字节
unsigned char pro_len; // 1协议地址长度:IP地址长度为4字节
unsigned short option; // 2ARP操作类型:1表示请求,2表示应答
unsigned char sour_addr[6]; // 6源MAC地址:发送方的MAC地址
unsigned long sour_ip; // 4源IP地址:发送方的IP地址
unsigned char dest_addr[6]; // 6目的MAC地址:在ARP请求中没有意义,在ARP响应中为接收方的MAC地址
unsigned long dest_ip; // 4目的IP地址:在ARP请求中为待解析的IP地址,在ARP响应中为接收方的IP地址
unsigned char padding[18]; // 18填充字节:用来补齐最小长度
};
struct arp_packet//ARP数据包结构
{ ethernet_head eth;
arp_head arp;
}myPacket;//全局变量,存放ARP请求数据包
#pragma pack()//界地址对齐方式回到操作系统方式
//******************************************************************************************************************
//*****************************************全局函数声明*************************************************************
//******************************************************************************************************************
void MakePacket(int sourceipint destiparp_packet *parp_packet);//封包函数声明
DWORD WINAPI threadofrcv(LPVOID);//接收线程声明
DWORD WINAPI threadofsnt(LPVOID);//发送线程声明
//******************************************************************************************************************
//*****************************************程序主函数***************************************************************
//******************************************************************************************************************
main()
{
cout<<“**********************************************************************“< cout<<“**********************************************************************“< cout<<“*****************ARP协议获取局域网活动主机MAC地址程序*****************“< cout<<“**********************************************************************“< cout<<
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 285 2009-10-28 22:35 2120090356_苑爱泉_第二次作业\作业说明.txt
文件 371712 2009-10-29 00:27 2120090356_苑爱泉_第二次作业\控制台版\2120090356_苑爱泉_第二次作业_控制台版.doc
文件 229424 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\可执行程序\mmm.exe
文件 35828 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\fxsjb.obj
文件 0 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\fxsjb.sbr
文件 2040832 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\mmm.bsc
文件 229424 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\mmm.exe
文件 337588 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\mmm.ilk
文件 4831540 2009-10-28 16:56 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\mmm.pch
文件 599040 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\mmm.pdb
文件 16 2009-10-28 16:54 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\myResult
文件 173056 2009-10-29 00:13 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\vc60.idb
文件 94208 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\Debug\vc60.pdb
文件 13040 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\fxsjb.cpp
文件 4286 2009-10-25 21:14 2120090356_苑爱泉_第二次作业\控制台版\源代码\mmm.dsp
文件 514 2008-10-28 23:41 2120090356_苑爱泉_第二次作业\控制台版\源代码\mmm.dsw
文件 66560 2009-10-29 00:27 2120090356_苑爱泉_第二次作业\控制台版\源代码\mmm.ncb
文件 48640 2009-10-29 00:27 2120090356_苑爱泉_第二次作业\控制台版\源代码\mmm.opt
文件 1024 2009-10-28 16:59 2120090356_苑爱泉_第二次作业\控制台版\源代码\mmm.plg
文件 64 2009-10-29 00:16 2120090356_苑爱泉_第二次作业\控制台版\源代码\myResult
文件 453632 2009-10-29 00:26 2120090356_苑爱泉_第二次作业\界面版\2120090356_苑爱泉_第二次作业_界面版.doc
文件 114733 2009-10-28 21:58 2120090356_苑爱泉_第二次作业\界面版\可执行程序\sharp.exe
文件 114733 2009-10-28 23:17 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\sharp.exe
文件 435448 2009-10-28 23:17 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\sharp.ilk
文件 26703 2009-10-27 21:40 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\sharp.obj
文件 5569268 2009-10-11 02:33 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\sharp.pch
文件 418816 2009-10-28 23:17 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\sharp.pdb
文件 2840 2009-10-28 22:12 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\sharp.res
文件 65913 2009-10-28 23:17 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\sharpDlg.obj
文件 105458 2009-10-11 02:33 2120090356_苑爱泉_第二次作业\界面版\源代码\Debug\StdAfx.obj
............此处省略33个文件信息
- 上一篇:C++培训课程资料1
- 下一篇:研华 数据采集卡应用与编程
相关资源
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- MFC数字钟(基于VC6.0)
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC6LineNumberAddin.dll
- 用VC6.0实现多边形扫描线填充算法
- VC++实现CMD命令执行与获得返回信息
- VC助手 VC6.0助手
- VC++基于OpenGL模拟的一个3维空间模型
- 基于VC++的SolidWorks二次开发SolidWorks
- VC6 USB开发源码
- VC操作SQLSERVER数据库
- aes加解密(vc源程序)
- vc_串口通讯
- 吕鑫vc6c++数据结构视频源码
- 派克变换VC++源码(附文档)
- 基于opencv漫水填充算法综合
- VC++ 串口
- VC++ 大富翁4_大富翁游戏源码
- MFC的异步网络通讯应用程序
- VC++ 摄像头视频采集与回放源程序
- 转 VC++ 实现电子邮件(Email)发送
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- VC++ 服务程序编写及安装与卸载
- VC++6.0番茄西红柿VAXvirsual assist X完美破
- VC编程助手2010破解版(原名VA_X_10.6.
- 基于改进的fcm算法的图像分割vc++
- VC++6.0 绿色版,免安装,非常好用。
- Microsoft Visual C++ 2005 Redistributable Pack
评论
共有 条评论