主要知识:
Windows有自带的API叫IP Helper,其中有一个API 为SendArp()可以实现通过ARP协议获取指定的IP地址,MAC地址功能,具体格式如下:
DWORD SendArp(
IpAddr DestIp;
IpAddr ScrIp;
PULONG pMacAddr;
PULONG PhyAddrLen;
);
四个参数分别是目的IP地址,源IP地址(一般默认为0),物理地址缓冲区指针以及缓冲区长度。
ARP协议:
ARP协议工作在TCP/IP协议的第二层(数据链路层),用于将IP地转换为网卡物理地址(NIC的MAC地址,媒体访问控制地址)。任何高层协议的通信最终都将装换为数据链路层的MAC地址来通信,所以说ARP是保证网络通信的基础协议。
ARP协议的工作流程: