资源简介
使用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++计算器源代码
- MFC电子邮箱
- VC++实现悬浮窗 迅雷360悬浮球
- Visual.Assist.X助手及其注册码 VC++
- MFC网络聊天工具
- VC实现录音实时显示波形
- 计算机图形学大作业参考代码(VC版)
- VC++实现的软件自动更新模块Updater源码
- Visual Assist X_最新破解版破解所有版本
- 计算器MFC+VC++
- vc++2010学习版Microsoft Visual C++ 2010 Exp
- VC++实现科学计算器
- (VC)MFC Skinsharp换肤套装(lib+dll+h+编
- vc++mfc经典数字图像处理程序
- 基于vc6.0的OpenGL小动画代码
- VC/MFC多页浏览器源代码
- mfc配合listbox操作数据库
- Visual C++程序设计学习笔记光盘源码
- 抓包源码,有兴趣的拿走
- vc++调用usb摄像头,进行拍照,保存为
- 超级玛丽增强版源码
- V isual C++ 端口扫描 源代码
- VC++6.0编译通过的读写CSV文件的代码及
- 基于TCP的网络聊天室的设计一步一步
- 基于VC++的UDP文件传输系统
- MFC停车场车辆信息管理系统附数据库
- 在vc下开发的canny边缘检测 MFC
- VC++实现灰度图像的6种边缘检测算子
- VC++MFC抓包程序源码
- NTL库VC 数论C++函数库
评论
共有 条评论