在TCP/IP协议族中有一个协议叫ARP(地址解析协议),这个协议就是用来解决这种问题的,
以下是实际在网络上截获的一个ARP数据包:
================================================
目标地址: FF FF FF FF FF FF //广播地址
源地址: 00 09 6B 04 2D 80 //发送地址
帧类型: 08 06 //ARP协议标示
硬件类型: 00 01 //Ether
协议类型: 08 00 //IP协议
硬件地址长度: 06 //MAC长度为六
协议地址长度: 04 //ipv4
操作码: 00 01 //看解释
发送者硬件地址:00 09 6B 04 2D 80 //
发送者协议地址:C0 A8 00 04 //192.168.0.4
目标者硬件地址:00 00 00 00 00 00
目标者协议地址:C0 A8 00 02 //192.168.0.2
操作码解释:(网络顺序)
0001: 请求解析数据包中的目标协议地址
0002: 应答协议地址->硬件地址解析请求
0003: 请求解析数据包中的目标硬件地址
0004: 应答硬件地址->协议地址解析请求
=======================================================
由计算机上发出地址解析数据包,然后等待一段时间如果目标地址返回响应数据包,则存在
相应的地址,如果没有返回则说明网络上不存在与该地址匹配的设备
我的数据是用单片机截获的,至于怎么在windows下截获你可以查找相关资料