美文网首页程序员
网络层——ARP协议

网络层——ARP协议

作者: 土豆洋芋山药蛋 | 来源:发表于2017-12-06 23:30 被阅读0次

1.ARP协议

地址解析协议,Address Resolution Protocol,用于实现IP地址到MAC地址映射(知道IP问MAC),实现数据的封装过程。ARP协议是在Ethernet以上,属于网络层。

ARP数据包:

ARP数据包
  • 字段1是ARP请求的目的以太网地址,全1时代表广播地址。

  • 字段2是发送ARP请求的以太网地址。

  • 字段3以太网帧类型表示的是后面的数据类型,ARP请求和ARP应答这个值为0x0806。

  • 字段4表示硬件地址的类型,硬件地址不只以太网一种,是以太网类型时此值为1。

  • 字段5表示要映射的协议地址的类型,要对IPv4地址进行映射,此值为0x0800。

  • 字段6和7表示硬件地址长度和协议地址长度,MAC地址占6字节,IP地址占4字节。

  • 字段8是操作类型字段,值为1,表示进行ARP请求;值为2,表示进行ARP应答;值为3,表示进行RARP请求;值为4,表示进行RARP应答。

  • 字段9是发送端ARP请求或应答的硬件地址,这里是以太网地址,和字段2相同。

  • 字段10是发送ARP请求或应答的IP地址。

  • 字段11和12是目的端的硬件地址和协议地址。

ARP常用命令:

  1. 使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。
  2. 使用arp –d来删除ARP高速缓存中的某一项内容
  3. 使用arp –s来增加高速缓冲表中的内容,这个命令需要主机名和以太网地址。新增加的内容是永久性的,除非在命令行的末尾加上关键字temp。
    arp –s 157.55.85.212 00-aa-aa-562-c6-09
    增加一个静态的ARP表项。
  4. arppub –s:使系统起着主机ARP代理功能。系统将回答与主机名对应的IP地址的ARP请求。

2.ARP原理

  1. 假设现在有两台主机,用户土豆的IP是1.1,MAC为MAC1,用户洋芋IP是1.2,MAC是MAC2


    土豆没有洋芋的MAC

现在土豆要给洋芋发消息,但土豆不知道洋芋的MAC是多少?(没有MAC就无法发消息给洋芋了)

  1. 土豆想要给洋芋发消息,就要先广播发送消息,跟大家say个hello,问一下局域网内的大家知不知道洋芋在哪?(广播请求)
    当然洋芋也能收到这个请求,所以他就回复了土豆他在哪(MAC2)(单播回复)


    单播回复
  1. 当土豆知道了洋芋的MAC地址之后(数据链路层的数据知道了目的地址),就可以愉快的通信了


    愉快的通信

从抓包的角度来看:

抓包的角度来看

图中MAC地址全为0表示的是广播请求
也可以看出在广播的时候是采用暴力扫描的方式

3.ARP攻击

还是土豆想找洋芋,要给洋芋发送消息,这时候有个黑客山药蛋企图进行ARP欺骗

  1. 土豆的广播请求


    广播请求

土豆的广播可以被山药蛋收到

  1. 洋芋的单播回复


    洋芋的单播回复

洋芋单播后的MAC地址是正确的MAC

  1. 山药蛋进行欺骗——告诉土豆,洋芋的MAC其实是“MAC3”


    山药蛋进行欺骗

山药蛋会重复发很多次说“洋芋的MAC其实是MAC3”以确保原来正确的MAC地址被覆盖掉
然后土豆想发给洋芋的信息就发给了山药蛋

攻击软件P2P终结者

攻击软件P2P终结者

设置成功后,为选定主机设置策略就可以进行控制(如果局域网中两个人同时使用此软件,那就要看谁的优先级更高咯)

4.总结:

  1. 广播数据包不能跨网段;(arp request无法发送到远端设备)
  2. 多网段通信过程中,IP地址不变,但是MAC地址变
    同网段通信过程中,IP和MAC信息不变,“跟谁通信用谁的mac”

相关文章

  • ARP协议

    地址解析协议ARP 网络层四大协议:ARP协议,IP协议,ICMP协议,IGMP协议。 ARP(Address R...

  • ☆技术问答集锦(四)

    2 TCP 与 UDP 网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议;传输层:TCP协...

  • 网络层——ARP协议

    1.ARP协议 地址解析协议,Address Resolution Protocol,用于实现IP地址到MAC地址...

  • 网络层——ARP协议

    ARP Address Resolution Protocol,地址解析协议 网络设备有数据要发送给另一台网络设备...

  • TCP、UDP、HTTP及Socket简单讲解

    一、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议...

  • TCP、UDP、HTTP协议

    1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议...

  • 对HTTP,TCP,UDP的认识

    1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、...

  • TCP/IP

    1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议...

  • TCP、UDP、HTTP及Socket的简单讲解

    1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议...

  • IP地址、ARP协议、子网掩码、到底做了什么?

    本文章内容包括: 网络层IP协议相关IP协议子网划分简单路由过程 网络层其他协议ARP与RARPICMP协议 IP...

网友评论

    本文标题:网络层——ARP协议

    本文链接:https://www.haomeiwen.com/subject/zpjrixtx.html