zoukankan      html  css  js  c++  java
  • 路由交换02-----ARP协议

    路由交换协议-----ARP

    ARP协议
    ARP(Address Resolution Protocol),是根据IP地址获取MAC地址的一个TCP/IP协议,即将IP地址对应到物理地址,从而实现数据链路层的可达性。
    ARP的数据包是这样的:

    硬件类型:发送方需要知道的硬件地址类型,一般为以太网(值为1)。
    协议类型:发送方提供的三层协议地址类型,一般为IP。
    硬件地址长度和协议长度:硬件地址和协议地址的长度。
    操作类型:用来表示这个报文的类型。

    • 1表示ARP请求
    • 2表示ARP响应
    • 3表示RARP请求
    • 4表示RARP响应
      RARP(Reverse Address Resolution Protocol):反向地址转换协议,即将MAC地址对应到IP地址,与ARP相反。

    发送方的硬件地址:发送ARP报文设备的MAC地址。
    源IP地址:发送方的IP地址。
    目标硬件地址:接收方的MAC地址。
    目标IP地址:接收方的IP地址。
    抓个包看一下:

    目的MAC地址为00:00:00:00:00:00,是因为这是一个广播包。

    ARP工作原理
    一般网络设备都有一个ARP缓存,用来存放IP地址和MAC地址的关联信息。发送数据之前,首先查找ARP缓存,如果缓存中有IP地址对应的物理地址,那么用此MAC地址封装以太帧发送,如果没有则会广播ARP报文,主机收到ARP报文之后会发送一个ARP回应,这时将这个回应里的MAC地址存放到ARP缓存,然后进行数据的发送,这个缓存的最大时间是20分钟,由于ARP报文不能跨广播域,所以如果目标处于其他网络,那么将数据转发到网关,由网关转发到目标设备。

    ARP代理
    如果主机要请求的地址主机无法到达,这时在路由器上开启ARP代理,路由器收到主机这样的请求后,会查找自己的路由表,如果存在这个表项,那么路由器将会回应主机,而主机则会误认为路由器就是目标主机从而将报文转发给路由器,路由器再转发报文给真正的目标主机,这样的路由器就成为ARP代理。

    免费ARP
    主机在开机时要获取IP地址,这时他需要检测自己的IP地址在这个网络中是否是唯一的,以避免地址冲突,这样就会发送一个广播报文,报文中的目的IP就是自己的IP,如果收到回应就说明这个IP地址已经被使用了。
    作用:当一个设备被分配了地址或者IP地址变更之后,通过免费,ARP检测自己的IP地址是否冲突。

    ARP欺骗的原理就是通过伪造ARP包将ARP包中的IP地址对应到攻击者的MAC地址,再由攻击者转发这个包去真正的目标地址,这样受害者的所有数据包都会被攻击者截获。

  • 相关阅读:
    打造自己的LINQ Provider(上):Expression Tree揭秘
    asp.net MVC 开篇
    .net面试基础
    asp.net MVC3.0
    数字万用表的四位半,三位半都是什么意思?
    lpsz,sz, 变量的命名规范
    老毛桃PE系统安装篡改主页3456.com和强制安装绿色浏览器lvseie.exe
    PC电源厂商及品牌篇(台厂及国际品牌篇)(第二版)
    Borland C++ 语法摘要
    Win8打开文件夹卡顿
  • 原文地址:https://www.cnblogs.com/Timesi/p/9327636.html
Copyright © 2011-2022 走看看