网络学习-2 ARP协议

Posted shouzhuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络学习-2 ARP协议相关的知识,希望对你有一定的参考价值。

协议

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

攻击PHONE

$ 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也就无法正常通信. 测试成功

为PC申请多个IP地址

既然可以告诉路由器某个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协议后才能完成. 测试成功

通过arp发送数据

ethernet包长度1518, 去掉ethernet头(14),fcs(4),ARP(28), 还剩下1472个字节. 这些应该可以用来发送数据. 待测试





以上是关于网络学习-2 ARP协议的主要内容,如果未能解决你的问题,请参考以下文章

arp协议与mac地址学习,tcp协议,标识地址的方式

网络安全学习-Kali中间人攻击

网络安全学习-Kali中间人攻击

三LWIP学习笔记之ARP协议

TCP/IP具体解释学习笔记——地址解析协议ARP

ARP协议总结