⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arpsend.h

📁 发送ARP包的控制台程序
💻 H
字号:
#pragma once
#pragma comment(lib, "Packet.lib")
#pragma comment ( lib, "Iphlpapi.lib" )

#include "resource.h"


/*!\brief 以太网传输层头结构*/
 struct TLHeader                     
{
	//!目的端以太网地址
	unsigned char		DesAdd[6];
	//!源端以太网地址
	unsigned char		SrcAdd[6];
	//!协议类型
	unsigned short	    ProType;			
}; 

 /*!\brief 以太网数据包结构*/
struct PackData                      
{       
	    //!底层网络类型(以太网)
		unsigned short		hwType;
		//!上层协议类型(ip)
		unsigned short		protType;
		//!底层网络地址长度
		unsigned char		haddrLen;
		//!上层协议地址长度
		unsigned char		paddrLen;
		//!操作码,request=1,response=2
		unsigned short		Opcode;
		//!发送方的mac地址 
        unsigned char		smacAddr[6]; 
		//!发送方的ip地址
		unsigned long		sprotAddr;
		 //!接受方的mac地址
		unsigned char		rmacAddr[6];
		//!接受方的ip地址
		unsigned long		rprotAddr;
		 //!填充数据,发送的为最小帧,共64字节
		unsigned char		data[18];       
} ;

/*! \brief arp数据包结构*/
struct ARPPacket                 
{
	    //!以太网传输层头
		TLHeader		header; 
		 //!以太网数据包
		PackData		data;              
};


ARPPacket arpPacket;                      //!\var arp数据包



/*!\brief 发送一个arp数据包
   \return 成功发送时返回为真
*/
bool arpsend();

/*! \brief 将字符类型的数据转化为6byte16进制地址
    \param const LPSTR str:输入的字符
	\param unsigned char*add:输出转化完的16进制数
	\return 转化成功则返回真
*/
bool strtoaddr(const LPSTR str,unsigned char*add);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -