标签:ref 是什么 rfc ima 技术 res tools loading src
ARP = Address Resolution Protocol = 查下ipv4地址的mac地址的协议
L2层协议.
协议格式: (https://tools.ietf.org/html/rfc826)
Ipv4(PLN=4byte)+MAC地址(HLN=6byte)的格式如下
operation 0x0100 = arp request
operation 0x0200 = arp response
通过raw socket, 可以构建上述格式包发送.
机器 | IP | MAC |
---|---|---|
路由器 | 192.168.0.1 | MAC1 |
PC | 192.168.0.101 | MAC2 |
PHONE | 192.168.0.102 | MAC3 |
$ arp srcip[192.168.0.102] srcmac[MAC2] dstip[192.168.0.1] dstmac[MAC2] reply # 向路由器发送arp reply包. 192.168.0.102的MAC地址是MAC1
路由器会更新192.168.0.102的MAC地址为MAC2. 后续路由器会将IP包交给PC. PHONE也就无法正常通信. 测试成功
既然可以告诉路由器某个ip地址的mac是什么. 那么也应该可以告诉路由器一个新的IP地址也是自己
arp srcip[192.168.0.103] srcmac[MAC2] dstip[192.168.0.1] dstmac[MAC2] reply
可以查看路由器"IP与MAC映射表", 发现新增了一个 104 -> MAC2的记录. 此时ping104, PC机会收到ICMP echo request请求. 但是无法ping通. 因为PC机并不会发送echo reply. 这个需要实现icmp协议后才能完成. 测试成功
ethernet包长度1518, 去掉ethernet头(14),fcs(4),ARP(28), 还剩下1472个字节. 这些应该可以用来发送数据. 待测试
标签:ref 是什么 rfc ima 技术 res tools loading src
原文地址:https://www.cnblogs.com/shouzhuo/p/13246877.html