一、arp发送过程
数据包是三成还是二层由包头决定,如果只有源、目的mac就是二层包,如果有ip就是三层包
arp 请求:
|aa:aa:aa:11|FF:FF:FF:FF:FF:FF|aa:aa:aa:11|192.168.1.1|00:00:00:00|192.168.1.2|
| 包头 | 数据包 |
|源mac|目的mac|发送mac|发送ip|接收mac|接收ip|
很明显arp包就是一个二层包,在第一次发送的时候是一个广播包,这个时候不清楚目的mac
arp 应答:
aa:aa:aa:22|aa:aa:aa:11|aa:aa:aa:22|192.168.1.2|aa:aa:aa:11|192.168.1.1|
| 包头 | 数据包 |
|源mac|目的mac|发送mac|发送ip|接收mac|接收ip|
发送arp请求包之后,其他所有的pc都在arp表中学习到了pc1的mac和ip,这个时候根据arp请求包中的目的ip回复一条arp应答
每一个pc都有一张记录ip与mac地址关系的arp表,每个交换机都有一张mac地址表,记录mac地址与接口的对应关系
mac地址表:根据目的地址学习
二、arp安全
1.攻击过程
arp欺骗:不断发送虚假的arp报文
pc3伪造arp请求:
aa:aa:aa:33|FF:FF:FF:FF:FF:FF|aa:aa:aa:33|192.168.1.2|00:00:00:00:00:00|192.168.1.1|
虽然是pc3发送的报文,但是伪造的发送ip为pc2的ip,这个时候在pc1的arp表中的就会生成192.168.1.2|aa:aa:aa:33的对应关系,如果之前有正确的arp表就会被覆盖掉
在欺骗了pc1之后再次欺骗pc2假装自己是pc1
pc3伪造arp请求 欺骗pc2:
aa:aa:aa:33|FF:FF:FF:FF:FF:FF|aa:aa:aa:33|192.168.1.1|00:00:00:00:00:00|192.168.1.1|
这个时候发送icmp数据包的时候就会根据arp表认为pc2的mac地址是aa:aa:aa:aa:aa:33,数据包就会发送到pc3,pc3可以进行转发数据到pc2,其中pc3甚至可以修改数据包的内容,回复包也会通过pc3