zoukankan      html  css  js  c++  java
  • ARP:地址解析协议

      ARP背后的基本概念,网络接口有一个硬件地址(一个48bit的值,标识不同的以太网或令牌环网接口)。知道主机的IP地址并不能让内核发送一帧数据给主机。必须要知道目的端的硬件地址才能发送数据。

      ARP的功能就是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。(就是通过IP地址找到以太网地址。)

      下图是tftp通信过程中抓取的ARP请求及应答报文。

      虽然在应答报文中的字段“以太网源地址”和“发送端以太网地址”是一样的,但是应该明白的是,在应答报文传输的过程中以太网源地址是可能变化的。故,ARP响应报文中的“发送端以太网地址”才是整个ARP通信最终需要的地址

     1 3、ARP:Who has 192.168.1.2? Tell 192.168.1.5
     2 3    31.841367    RealtekS_34:16:f4    Broadcast    ARP    42    Who has 192.168.1.2? Tell 192.168.1.5
     3 
     4     0000   ff ff ff ff ff ff 00 e0 4c 34 16 f4 08 06 00 01
     5     0010   08 00 06 04 00 01 00 e0 4c 34 16 f4 c0 a8 01 05
     6     0020   00 00 00 00 00 00 c0 a8 01 02
     7 
     8     ff ff ff ff ff ff     #以太网广播地址                              
     9     00 e0 4c 34 16 f4     #以太网源地址                                
    10     08 06                 #帧类型:ARP请求或应答                       
    11     00 01                 #硬件类型:以太网地址                        
    12     08 00                #协议类型:IP地址                            
    13     06                    #硬件地址长度-MAC地址                        
    14     04                    #协议地址长度-IP地址                         
    15     00 01                #1:ARP请求 2:ARP应答 3:RARP请求 4:RARP应答   
    16     00 e0 4c 34 16 f4     #发送端以太网地址                            
    17     c0 a8 01 05           #发送端:IP 192.168.1.5                        
    18     00 00 00 00 00 00     #目的以太网地址                              
    19     c0 a8 01 02           #目的IP地址:192.168.1.2                     
    20 
    21 4、ARP:192.168.1.2 is at 08:00:27:00:01:92    
    22 4    31.842162    CadmusCo_00:01:92    RealtekS_34:16:f4    ARP    60    192.168.1.2 is at 08:00:27:00:01:92
    23 
    24     0000   00 e0 4c 34 16 f4 08 00 27 00 01 92 08 06 00 01
    25     0010   08 00 06 04 00 02 08 00 27 00 01 92 c0 a8 01 02
    26     0020   00 e0 4c 34 16 f4 c0 a8 01 05 00 00 00 00 00 00
    27     0030   00 00 00 00 00 00 00 00 00 00 00 00
    28 
    29     00 e0 4c 34 16 f4    #以太网目的地址                            
    30     08 00 27 00 01 92    #以太网源地址                              
    31     08 06                #帧类型:ARP请求或应答                     
    32     00 01                #硬件类型:以太网地址                      
    33     08 00                #协议类型:IP地址                          
    34     06                   #硬件地址长度-MAC地址                      
    35     04                   #协议地址长度-IP地址                       
    36     00 02               #1:ARP请求 2:ARP应答 3:RARP请求 4:RARP应答 
    37     08 00 27 00 01 92    #发送端以太网地址                          
    38     c0 a8 01 02          #发送端:IP 192.168.1.2                    
    39     00 e0 4c 34 16 f4    #目的以太网地址                            
    40     c0 a8 01 05          #目的IP地址:192.168.1.5                   
    41     
    42     00 00 00 00 00 00    #这是什么字段?
    43     00 00 00 00 00 00 
    44     00 00 00 00 00 00          

    ARP代理

    1、代理ARP

      上图中gemini发送ARP请求给140.252.1.29(sun),gemini比较网络号(140.252)和子网号(1),因而在以太网中发送ARP请求。路由器netb识别该IP属于它的一个拨号主机,于是把自己的以太网接口地址140.252.1作为硬件地址来应答。这个过程对于140.252.1子网上的主机来说是透明的,主机sun实际上是在路由器netb后面进行配置。

      在gemini上执行arp命令,发现同一个子网140.252.1上的netb和IP地址映射的硬件地址是相同的。

      总的来说,就是路由器netb完成了ARP代理功能

    2、SLIP拨号IP

      NetBlazer通过分组到达的串行线路接口确定发送分组的拨号主机。所有的拨号主机使用同一个IP地址140.252.1.183作为SLIP链路的目的地址。

    3、免费ARP

      发送自己IP地址的ARP请求,一般发生在引导过程中。

      作用:

      1)、确定是否有另一个主机设置了相同的IP;

      2)、如果发送方的硬件地址变化了,那么这个分组的其他主机的高速缓存中的数据就能进行更新了。

    ARP欺骗的3种基本方式:

      1. 主机C冒充网关欺骗主机B;

      2. 主机c冒充主机B欺骗网关;

      3. 主机C同时欺骗主机B和网关,实现数据中转,并监听到所有主机B的数据。

    RARP:

      ARP是通过对方的IP地址获取对方的硬件地址,而RARP是通过自己的硬件地址获取自己IP。

      无盘系统实现过程:从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧网络上的广播数据),请求某个主机响应该地址(RARP应答中)。

  • 相关阅读:
    WebView中实现文件下载功能
    PrograssBar的setIndeterminateDrawable不起作用
    62个Android Studio小技巧合集
    Touch 事件的分发和消费机制
    AndroidStudio
    pagefile.sys and heberfil.sys
    android ANR产生原因和解决办法
    JAVA中分为基本数据类型及引用数据类型
    handler
    洛谷 P2709 小B的询问
  • 原文地址:https://www.cnblogs.com/mofei004/p/8994237.html
Copyright © 2011-2022 走看看