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应答中)。

转载于:https://www.cnblogs.com/mofei004/p/8994237.html

ARP:地址解析协议相关推荐

  1. 3、以太网基础知识——ARP地址解析协议原理

    返回目录 上一篇 下一篇 概述 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.网络层以上的协议用IP地址来标识网络 ...

  2. 【实施工程师】ARP——地址解析协议(高清版本)

    完整的[ARP--地址解析协议]图 希望对大家有所帮助

  3. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  4. ARP地址解析协议原理

    概述 网络层以上的协议用IP地址来标识网络接口,但以太数据帧传输时,以物理地址来标识网络接口.因此我们需要进行IP地址与物理地址之间的转化. 对于IPv4来说,我们使用ARP地址解析协议来完成IP地址 ...

  5. 【ARP地址解析协议(完整解析过程、ARP欺骗、免费ARP、ARP代理)】-20211125【下】

    目录 一.ARP地址解析协议 ARP地址解析协议:将IP地址解析为Mac地址 ARP地址解析过程 1)pc1首先会查询自身的ARP缓存表,是否存在目标ARP缓存条目. ARP请求报文(原理) 2)由于 ...

  6. 【计算机网络学习笔记09】ARP地址解析协议

    [计算机网络学习笔记09]ARP地址解析协议 ARP地址解析协议 在实际应用中,我们常会遇见这样的问题:已知一个机器(主机或路由器)的IP地址,需要找出其相应的硬件,这时就需要使用到地址地址解析协议( ...

  7. ARP地址解析协议详解

    ARP地址解析协议详解 网络层的ARP协议完成IP地址与物理地址的映射.首先,每台主机都会在自己的ARP缓冲区中建立一个ARP缓存表,以表示IP地址和MAC地址的对应关系.当源主机需要将一个数据包发送 ...

  8. ARP地址解析协议与RARP逆地址解析协议

    这里写目录标题 区分ARP与RARP ARP:地址解析协议 ARP高速缓存 ARP高速缓存超时设置 用户输入命令时ARP操作流程 ARP的分组格式 ARP代理 免费ARP RARP逆地址解析协议 RA ...

  9. 什么是ARP(地址解析协议)?(Powercert animated videos)

    什么是ARP(地址解析协议)?IP地址和MAC地址如何连接起来 本篇文章源自以下视频链接的字幕: [IT硬核动画搬运/中英双字]什么是ARP(地址解析协议)?IP地址和MAC地址如何连接起来(Powe ...

  10. 互联网协议 — ARP 地址解析协议

    目录 文章目录 目录 ARP 简述 ARP 的基本功能 ARP 的数据包结构 ARP 的工作原理 ARP 的客户端 ARP Proxy(代理) ARP Probe(探测) ARP Spoofing(欺 ...

最新文章

  1. 【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )
  2. Linux环境下gcc编译链接库-lz -lrt -lm -lc都是什么库?
  3. Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单
  4. [JavaWeb-HTML]CSS与html结合方式
  5. messageformat.format() 自定义参数名_DedeCMS的Java版mcms 第四季之一: 自定义插件
  6. 矩阵论第二章总结:范数理论及应用(脑图)
  7. Java web 实战项目案例
  8. Java Lambda 策略模式
  9. 数字图像处理 matlab 报告总结,matlab数字图像处理实验报告
  10. mac如何使用adb安装apk
  11. 基于Three.js和MindAR实现的网页端人脸识别功能和仿抖音猫脸特效换脸的各种面罩实现(含源码)
  12. 速速收藏——程序员接私活的七大平台
  13. linux时间同步命令centos6,CentOS6.5搭建NTP服务器,并为思科交换机提供时间同步
  14. Flex控件_datagrid_编辑功能
  15. (已解决)EOFError: Ran out of input
  16. android 智能手机发展历史,智能手机的发展史
  17. python一维数组和二维数组,Python numpy实现二维数组和一维数组拼接的方法
  18. CVPR 2020 论文总结:Weakly Supervised Semantic Point Cloud Segmentation: Towards 10×Fewer Labels
  19. android 查看包名 脚本,Monkeyscript---获取包名主界面名和位置坐标
  20. vue实现模糊查询搜索

热门文章

  1. python怎么用第三方库_python中第三方库的下载方法
  2. 彩虹工单自动处理网站插件
  3. 帝国CMS7.5仿金色财经整站源码+手机端+会员中心+投稿-财经综合门户
  4. 创业公司引导页html5模板
  5. html发送qq邮件消息,Python3实现发送QQ邮件功能(html)_python
  6. 1748. 唯一元素的和
  7. Objective-C 2.0 with Cocoa Foundation--- 6,NSObject的奥秘
  8. link rel=canonical 用法
  9. 人工智障学习笔记——机器学习(4)支持向量机
  10. Vim设置支持鼠标,光标定位,滚轮上下移动