📄 arpsend.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 + -